Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

Undefined __*_finite symbols in libm.so.6 on Ubuntu 20.04

Writer Sophia Terry

I noticed that math __*_finite symbols are not present anymore in libm.so.6 on Ubuntu 20.04 (GLIBC version 2.31).

nm returns those symbols as they were present in the shared object:

nm -gD libm.so.6 | grep finite
00000000000249e0 i __acos_finite
...
000000000002c520 i __log_finite
...

But once I try to load them (for example through dynamic loading with dlopen and dlsym) I get an error that tells me that those symbols are undefined and cannot be loaded.

I tried on Ubuntu 18.04 and I'm not facing the same problem.

This is an issue for me because I'm trying to use a shared library compiled on Ubuntu 18.04 that actually uses those symbols (the library was compiled with --ffast-math).

I'm wondering what is going on there, and why those symbols are not anymore present inside libm. Is there a way to use a library that actually relies on those symbols?

Reset to default

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy