Looks like there are for some reason missing includes, I will fix and test this on Fedora over the weekend. Dne pá 12. 5. 2023 20:12 uživatel Bill Gee <bgee@campercaver.net> napsal:
Thanks! That made a difference. I still get an error, but it happens later in the process. This happens after a bunch of other g++ commands have run.
====================== Paste text ============= g++ -c -DIMG_API_VERSION=1 -Wall -DTHLINUX -O2 -DPROJ_VER=9 -I/usr/include -Iextern -Iextern/shapelib -Iextern/quickhull -std=c++17 -o thdb1d.o thdb1d.cxx In file included from extern/quickhull/QuickHull.hpp:10, from thdb1d.cxx:53: extern/quickhull/Structs/Mesh.hpp:41:30: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’? 41 | std::uint8_t m_isVisibleFaceOnCurrentIteration : 1; | ^~~~~~~ | wint_t extern/quickhull/Structs/Mesh.hpp:42:30: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’? 42 | std::uint8_t m_inFaceStack : 1; | ^~~~~~~ | wint_t extern/quickhull/Structs/Mesh.hpp:43:30: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’? 43 | std::uint8_t m_horizonEdgesOnCurrentIteration : 3; // Bit for each half edge assigned to this face, each being 0 or 1 depending on whether the edge belongs to horizon edge | ^~~~~~~ | wint_t extern/quickhull/Structs/Mesh.hpp: In constructor ‘quickhull::MeshBuilder<T>::Face::Face()’: extern/quickhull/Structs/Mesh.hpp:50:42: error: class ‘quickhull::MeshBuilder<T>::Face’ does not have any field named ‘m_isVisibleFaceOnCurrentIteration’ 50 | m_isVisibleFaceOnCurrentIteration(0), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ extern/quickhull/Structs/Mesh.hpp:51:42: error: class ‘quickhull::MeshBuilder<T>::Face’ does not have any field named ‘m_inFaceStack’ 51 | m_inFaceStack(0), | ^~~~~~~~~~~~~ extern/quickhull/Structs/Mesh.hpp:52:42: error: class ‘quickhull::MeshBuilder<T>::Face’ does not have any field named ‘m_horizonEdgesOnCurrentIteration’ 52 | m_horizonEdgesOnCurrentIteration(0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:151: thdb1d.o] Error 1 ================================ End of pasted text ================
When I built therion 6.1.6 on Fedora 37, I used cmake instead of make. Trying that process, I get yet another error!
============== Begin pasted text =============== /home/bgee/Installs/therion-6.1.7/loch/lxFile.cxx: In member function ‘bool lxFile::HasAnyWalls()’: /home/bgee/Installs/therion-6.1.7/loch/lxFile.cxx:1345:30: error: no match for ‘operator!=’ (operand types are ‘lxFileSize’ and ‘<unnamed enum>’) 1345 | if (shi->m_sectionType != LXFILE_SHOT_SECTION_NONE) { | ~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~~~~ | | | | lxFileSize <unnamed enum> /home/bgee/Installs/therion-6.1.7/loch/lxMath.h:77:6: note: candidate: ‘bool operator!=(const lxVec&, const lxVec&)’ 77 | bool operator != ( const lxVec& p, const lxVec& q ); | ^~~~~~~~ /home/bgee/Installs/therion-6.1.7/loch/lxMath.h:77:33: note: no known conversion for argument 1 from ‘lxFileSize’ to ‘const lxVec&’ 77 | bool operator != ( const lxVec& p, const lxVec& q ); | ~~~~~~~~~~~~~^ make[2]: *** [loch/CMakeFiles/common-utils.dir/build.make:76: loch/CMakeFiles/common-utils.dir/lxFile.cxx.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:3821: loch/CMakeFiles/common-utils.dir/all] Error 2 make: *** [Makefile:146: all] Error 2
=================== End pasted text ===============
=============== Bill Gee
On 5/12/23 12:40, Matěj Plch wrote:
Hi, Therion 6.1.7 does not include internal copy of fmt library, you need to install package fmt-devel.
Dne pá 12. 5. 2023 17:03 uživatel Bill Gee <bgee@campercaver.net <mailto:bgee@campercaver.net>> napsal:
I gave it a shot today to see if I could duplicate Rodrigo's problem. I got a completely different error:
=========================== [bgee@main2 build]$ cmake .. CMake Error at cmake/Dependencies.cmake:8 (find_package): By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "fmt", but CMake did not find one.
Could not find a package configuration file provided by "fmt" with any of the following names:
fmtConfig.cmake fmt-config.cmake
Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR" to a directory containing one of the above files. If "fmt" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:18 (include) ===============================
This is Fedora 38. The compile of 6.1.6 on Fedora 37 worked correctly for me. 6.1.6 still works after the upgrade to Fedora 38. I did not recompile it.
-- =============== Bill Gee _______________________________________________ Therion mailing list Therion@speleo.sk <mailto:Therion@speleo.sk> https://mailman.speleo.sk/listinfo/therion <https://mailman.speleo.sk/listinfo/therion>
_______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion