[Therion] Problem compiling Therion 6.1.7 on Fedora 38
Matěj Plch
plch.matej at gmail.com
Sat May 13 00:12:12 CEST 2023
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 at 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 at campercaver.net
> > <mailto:bgee at 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 at 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 at speleo.sk <mailto:Therion at speleo.sk>
> > https://mailman.speleo.sk/listinfo/therion
> > <https://mailman.speleo.sk/listinfo/therion>
> >
> >
> > _______________________________________________
> > Therion mailing list
> > Therion at speleo.sk
> > https://mailman.speleo.sk/listinfo/therion
> _______________________________________________
> Therion mailing list
> Therion at speleo.sk
> https://mailman.speleo.sk/listinfo/therion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20230513/52c9768c/attachment-0001.htm>
More information about the Therion
mailing list