Hello,
I have a few questions related to running dynamically-linked binaries on musl. Let me start with a few statements which I feel are relevant:
1. I'm currently on Void Linux, amd64 architecture. My musl version is 1.1.24_12, I'm guessing it's either unmodified by the packaging or only slightly tweaked. Either way, I'm assuming other users' experience is similar.
2. This isn't specifically a troubleshooting question, I'm not really expecting to get a simple solution to my problem. If I do get one I'm going to feel like a clown for making such a long OP.
3. I don't really want to switch back to glibc because of laziness and I'm probably more inclined towards the philosophy of musl anyway. This is also the reason I chose this libc implementation in the first place.
Now onto the problem.
Trying to run dynamically-linked binaries, usually games, results in errors with loading shared libraries, or `symbol not found`. Here's a specific example of Factorio:
Code:
Error loading shared library libresolv.so.2: No such file or directory (needed by /home/me/games/factorio/bin/x64/factorio)
Error relocating /home/me/games/factorio/bin/x64/factorio: __res_nquery: symbol not found
Error relocating /home/me/games/factorio/bin/x64/factorio: __dn_expand: symbol not found
Ldd results in many more `symbol not found`.
Then there are also strange problems with SEGFAULTs on some of my programs. I'm pretty sure these are related to libc, despite being statically-linked - I think they call some c libraries during runtime (ldd would suggest this). However, I don't know how to debug this further, and it's been a while since I wrote it. If anybody is interested in details feel free to ask.
Here are my questions, in no particular order:
What is your experience with musl-related errors?
What are the prospects of these issues being fixed? I'm assuming the only good solution lies in improving musl, but perhaps I'm wrong, and the project has no interest in resolving these - I can see many reasons for such an approach. Also I'm unfamiliar with the state of the project in general, so I'd appreciate any information from somebody more knowledgeable.