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 <[email protected]> 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 <[email protected]> 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 <[email protected]
<mailto:[email protected]>> 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
     [email protected] <mailto:[email protected]>
     https://mailman.speleo.sk/listinfo/therion
     <https://mailman.speleo.sk/listinfo/therion>


_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion
_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion
_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion
_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion

Reply via email to