[Therion] Problem compiling Therion 6.1.7 on Fedora 38
Bill Gee
bgee at campercaver.net
Fri May 12 20:12:13 CEST 2023
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
More information about the Therion
mailing list