-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Linux] Half-Life can't load compiled libraries #33
Comments
I don't know about the client loading problems. You can try running Half-Life through a debugger like gdb to try to get more info. This article explains how to debug this kind of problem: https://twhl.info/wiki/page/Half-Life_Programming_-_Debugging For the server dll the error means it can't find the global operator delete. On my end this works, probably because my distribution (Ubuntu) does something special. Operator delete is a C++ function defined in To make it link with that you'll need to switch it to use I'll get these changes committed tomorrow. You can test it locally to see if it solves your problem. |
Thanks for the tip, I tried
But it still doesn't work, albeit the LoadLibrary error message has changed:
I build the libraries in a minimalistic LXC container that only has the tools to compile various programs (Ubuntu 18.04.5 LTS). Then I try to run them on Ubuntu 20.10. Maybe that's the problem? That the build system and the target system have different versions of Wait, I just see that the Steam Half-Life installation ships its own version of
So can we somehow force |
I'm using Ubuntu 20.04.2 LTS. The GCC version is 9.3.0, you may need to install that or a newer version to make the program work. ABI version 1.3.9 matches GCC 5.1.0 so you should have an up-to-date version installed already. I don't know why there's a libstdc++ library in the Half-Life Directory, it's not there for me. SteamDB doesn't list the file as being part of the game's Linux depot and validating game files doesn't put it there, so i'd recommend reinstalling the game to see if it's supposed to be there. Steam passes the Half-Life directory as a path in |
I've updated the makefiles to use g++. Once you've double checked the presence of libstdc++ we can see if there's anything else that needs fixing. |
Sorry for the late answer, meanwhile my attention was diverted by HLDS. I've tried your modified I don't understand why do I have a
Just as I was typing this comment, I found that these files are part of the Half-Life Dedicated Server that I also have installed. Strange because I don't think I had HLDS installed on August 26 when I reported this issue, though I don't know exactly when did I install it. The original (now |
You're not supposed to install that app. The dedicated server software should be installed through SteamCMD using app id 90: https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_an_app There are other HLDS apps on Steam that are out of date and not supported, that seems to be one of them. You also shouldn't install the dedicated server software in the same directory as a client installation since it can mess things up. Is everything working now? |
Do you still need help with this? |
Closing due to inactivity. |
I've built the SO files following this tutorial:
https://twhl.info/wiki/page/Half-Life_Programming_-_Getting_Started
For some reason, Half-Life (up-to-date Steam for Linux version) can't load the libraries and it doesn't give much info why. For the client library, I only get the following message:
could not load library .../client.so
(In the place of "...", it writes the full path.)
When I try to go only with the server library, the following messages appear in the developer console.
Contents of the mentioned
buffer.dat
:So... the libraries are built but then just don't work. What am I doing wrong?
What's also strange is that my SOs have significant size differences to the originals (might be because of debug info, though neither of the binaries are stripped).
Various other differences:
As of now I have no modifications to the code, I'm compiling from d872ad0.
The text was updated successfully, but these errors were encountered: