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