Godot version
tested 4.6.2 stable
godot-cpp version
4.5
System information
Arch Linux latest, intel i7-9700
Issue description
glibc 2.41 added new versioned symbols for these C23 float-math functions, godot-cpp's build doesn't pin to old versions.
Suggested fix: opt-in flag in tools/linux.py/cmake/linux.cmake that compiles a .symver shim, like Steam/Chromium do. At least from what i can think of. Alternatives may exist
Steps to reproduce
- Repro: build on Arch (glibc 2.43), load in any Godot binary built on glibc < 2.41 → version 'GLIBC_2.43' not found for sqrtf/acosf/asinf/atan2f.
Minimal reproduction project
N/A, build on arch latest stable. any extension with scons. then reports:
libm.so.6: version `GLIBC_2.43' not found (required by /example/path/to/addon.linux.editor.x86_64.so).
ERROR: drivers/unix/os_unix.cpp:1061 - Condition "!FileAccess::exists(path)" is true. Returning: ERR_FILE_NOT_FOUND
ERROR: GDExtension dynamic library not found: 'example/path/to/addon.gdextension'.
file paths are replaced for privacy
Godot version
tested 4.6.2 stable
godot-cpp version
4.5
System information
Arch Linux latest, intel i7-9700
Issue description
glibc 2.41 added new versioned symbols for these C23 float-math functions, godot-cpp's build doesn't pin to old versions.
Suggested fix: opt-in flag in tools/linux.py/cmake/linux.cmake that compiles a .symver shim, like Steam/Chromium do. At least from what i can think of. Alternatives may exist
Steps to reproduce
Minimal reproduction project
N/A, build on arch latest stable. any extension with scons. then reports:
libm.so.6: version `GLIBC_2.43' not found (required by /example/path/to/addon.linux.editor.x86_64.so).
ERROR: drivers/unix/os_unix.cpp:1061 - Condition "!FileAccess::exists(path)" is true. Returning: ERR_FILE_NOT_FOUND
ERROR: GDExtension dynamic library not found: 'example/path/to/addon.gdextension'.
file paths are replaced for privacy