[Therion] Problem compiling Therion 6.1.7 on Fedora 38

Matěj Plch plch.matej at gmail.com
Mon Jul 24 21:02:52 CEST 2023


Hi,
I see that my response was not delivered due to the problem with the
mailing list, but for the record I'll reply again now.
Arithmetic problems now should be fixed in the latest release, only
32-bit builds on Windows were affected.

Matěj

po 15. 5. 2023 v 18:56 odesílatel Bill Gee <bgee at campercaver.net> napsal:
>
> Arithmetic problems?!?!  If it's not one thing, it's another!
>
> Thanks for your efforts.  I will be patient and see how things develop.
> For now I have a working installation of Therion 6.1.6, and I have no
> active cave map projects.
>
> ===============
> Bill Gee
>
> On 5/15/23 10:38, Matěj Plch wrote:
> > It should be fixed in the master branch now, the problem was caused by
> > the new version of GCC 13.1. However, with the same compiler there is
> > an issue with floating-point arithmetics, so Therion now computes
> > different results, we are investigating how to fix this.
> >
> > so 13. 5. 2023 v 0:12 odesílatel Matěj Plch <plch.matej at gmail.com> napsal:
> >>
> >> 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
> > _______________________________________________
> > 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


More information about the Therion mailing list