Closed delooper closed 2 years ago
Can you please post the exact compiler version you're using? I don't have an Ubuntu 20.04 machine handy, but I expect this is actually caused by https://bugs.llvm.org/show_bug.cgi?id=45034 or similar, as __exp_finite and __log10_finite are not in any library but come from the compiler (IIRC).
Edit: Actually having dug some more, maybe it's not a compiler thing strictly. It could also be related to glibc 2.30 -> 2.31 changes. However, those shouldn't appear unless you haven't done a make clean
since upgrading glibc. Can you also try make clean
and then make
to ensure that this is reproducible?
Hi - so I’ve seen this one too. Of the 20+ different linux platforms I build for, it happens on Ubuntu 20.04 and nowhere else.
Ryan - the cheap fix is here: https://github.com/regina-normal/aux/blob/master/packaging/debian/focal/patches/finite-math.diff If you’re not used to reading diffs, basically you need to add the line ADD_LINK_OPTIONS(-Wl,--allow-shlib-undefined) into qtui/src/CMakeLists.txt at the right place.
Will - any suggestions on how to bake this into the main source tree without adding --allow-shlib-undefined for everyone? (Um, so I guess I mean: any suggestion on how to detect the conditions under which this patch is needed?)
--
Prof. Benjamin Burton Computational Geometry & Topology Group School of Mathematics and Physics The University of Queensland, Australia
UQ ALLY :: Supporting and celebrating the diversity of sexuality, gender and sex at UQ. Pronouns: He, him, his
On 15 Jun 2021, at 6:32 pm, William Pettersson @.***> wrote:
Can you please post the exact compiler version you're using? I don't have an Ubuntu 20.04 machine handy, but I expect this is actually caused by https://bugs.llvm.org/show_bug.cgi?id=45034 or similar, as __exp_finite and __log10_finite are not in any library but come from the compiler (IIRC).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.
I've now gotten a virtual machine and done some digging, and I see the same issue and also don't have any good solutions.
Ben, if I had to implement something, I'd check $(lsb_release -is) == "Ubuntu" && $(lsb_release -rs) == "20.04"
. It's dirty, but I cannot find any better way to include this. I still have a hunch that it's something not-quite-right in Ubuntu, but don't know where to start.
The gcc version is: gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
although it sounds like you're well past that.
Ben's diff file worked, it compiled fine.
Thanks.
Next up, porting my code from V5 to V6.
Okay, I'm sure this is not a Regina bug, I can replicate with a small example (see https://gist.github.com/WPettersson/014bb43f5063e06742ca06666c1b81d1). I'll post an Ubuntu bug for now, still don't know how to best deal with this for now though.
Okay there's a launchpad bug at https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1932333 so I guess we wait and see.
Hi - the 7.0 release included a hack in the cmake scripts to work around this on Ubuntu 20.04.
Closing this issue now - Ben.
Greetings,
I'm having a little trouble compiling the current master branch in Ubuntu.
It looks like a simple problem -- we probably aren't telling the linker to look for the graphviz libraries, when building the GUI. Here is the precise error message:
[ 76%] Linking CXX executable regina-gui /usr/bin/ld: /usr/lib/x86_64-linux-gnu/graphviz/libgvplugin_core.so: undefined reference to
__log10_finite' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/graphviz/libgvplugin_core.so: undefined reference to
__exp_finite' collect2: error: ld returned 1 exit status make[2]: [qtui/src/CMakeFiles/regina-gui.dir/build.make:1863: qtui/src/regina-gui] Error 1 make[1]: [CMakeFiles/Makefile2:2556: qtui/src/CMakeFiles/regina-gui.dir/all] Error 2 make: *** [Makefile:163: all] Error 2I can edit simple CMake files, but the CMakeLists file in qtui/src looks fairly elaborate.