2shady4u / godot-sqlite

GDExtension wrapper for SQLite (Godot 4.x+)
MIT License
956 stars 82 forks source link

libgdsqlite.so compiled with GLIBC_2.28, which is too recent #36

Closed mrimvo closed 3 years ago

mrimvo commented 3 years ago

I would like to use sqlite on a linux headless server. Similar to #7.

My docker is running jessie-slim with GLIBC 2.19. When hitting the line db = SQLite.new(), the plugin reports:

E 0:00:00.233   open_dynamic_library: Can't open dynamic library: project/addons/godot-sqlite/bin/x11/libgdsqlite.so.
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
(required by /home/martin/dev/godot/Cuarentena/server/addons/godot-sqlite/bin/x11/libgdsqlite.so)
  <C++ Error>   Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
  <C++ Source>  drivers/unix/os_unix.cpp:426 @ open_dynamic_library()

From what I understand, the library must be compiled with GLIBC 2.19 or earlier to run on GLIBC 2.19 or later.

This error affects any unix system with GLIBC older than 2.28.

2shady4u commented 3 years ago

hello @mrimvo Do you know which version of Ubuntu LTS supports that version of glibc? If yes, the Github Action's platform could potentially be changed to alleviate this issue.

mrimvo commented 3 years ago

Thank you for your quick answer, I appreciate. Doing some research I found that Ubuntu 14.04 uses GLIBC 2.19. Ubuntu 16.04 seems to use 2.23.

Generally, the older GLIBC used in compiling, the better is the compatibility of the resulting binaries.

mrimvo commented 3 years ago

I think in Github Actions, there is only Ubuntu 16.04 available, no earlier version. If you could use this for compiling the library, that would help me a lot. Thank you :)