Descriptive Problem Summary:
For a SS13 server hosted on 64-bit Ubuntu Linux, I'm attempting to use the libbyond.so library to interact with a MySQL database. However, this runtime error occurs:
Runtime in code/controllers/subsystem/dbcore.dm,114: /usr/local/lib/libbyond.so: undefined symbol: sql_connect_pool
proc name: Connect (/datum/subsystem/dbcore/proc/Connect)
src: feedback Database (/datum/subsystem/dbcore)
call stack:
feedback Database (/datum/subsystem/dbcore): Connect()
feedback Database (/datum/subsystem/dbcore): Initialize(549218)
world: New()
output of "ldd libbyond.so":
ldd libbyond.so
linux-gate.so.1 (0xf7f06000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7806000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7801000)
libstdc++.so.6 => /lib/i386-linux-gnu/libstdc++.so.6 (0xf75cd000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf74c5000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf749e000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7499000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7264000)
/lib/ld-linux.so.2 (0xf7f08000)
(everything seems fine?)
output of "file libbyond.so":
file libbyond.so
libbyond.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=1cc2f0de13ce3cee52e21bcaf25e7e8d2dc4f355, stripped
(it's 32-bit as expected?)
Is this a bug or am I missing something?
ID:2903756
Dec 13 2023, 9:21 am
|
|||||||||||||
Not a bug
| |||||||||||||
Thank you, I switched to AlmaLinux9 and it got further towards working.
|
SPCR, do you happen to have a guide or instruction set on how to properly install BYOND on AlmaLinux?
I've been adapting this guide: https://gist.github.com/alexkar598/ 9a5624decad39ce40c5dadef8231fbd3 To what I think would be the correct equivalents in AlmaLinux but, I have a feeling something is going wrong with either user permissions (i can't simply do sudo make install because the following "source ..." command fails due to erroneous paths) or the specific 32/64 versions of certain libraries, or something else that isn't clear to me. I think something there is what is causing the issue in https://www.byond.com/forum/post/2904072 And in general should I be running DreamDaemon as sudo? Could not doing that cause issues interfacing with external binaries? |
In response to Hinaichigo
|
|
I don't really know(im not a linux expert) . All i did was run things locally and directly inside their directories instead of using sudo and directory paths.
I also gave all byond binaries full +xrw permission. Everytime i ran my server i also had to set the environment path to the libbyond.so location. As for the SQL thing , i have no clue, you'd be better off bothering whoever maintains TGstation's RUSTG library about it, or try compiling the rustg library locally for the OS so it doesn't do illegal operations. |
AlmaLinux 9 is one OS which by default has libc.so.6 ver 34 support.