dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
henaff opened this issue · comments
Problem:
When running the Docker container for cm2network/steamcmd:latest
, I'm encountering an issue related to a missing shared object file steamservice.so
.
Steps to Reproduce:
- Pulled the
cm2network/steamcmd:latest
image:docker pull cm2network/steamcmd:latest
- Ran the container with entrypoint as
/bin/sh
:docker run --entrypoint /bin/sh -it cm2network/steamcmd:latest
- Executed
steamcmd
.
Expected Behavior:
I expect steamcmd
to launch successfully without any errors.
Actual Behavior:
Received the following error message:
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
Environment:
- OS: Ubuntu 20
- Docker version: 24.0.6
- Image:
cm2network/steamcmd:latest
Logs:
root@m23322:~# docker run -it --name=steamcmd cm2network/steamcmd bash
Unable to find image 'cm2network/steamcmd:latest' locally
latest: Pulling from cm2network/steamcmd
7dbc1adf280e: Pull complete
6d8b5674a23a: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:5393e26248e593a7ab2fdd67f4a9ae7dc6ada421a7c38fa9cdb3afc72cf8d8a8
Status: Downloaded newer image for cm2network/steamcmd:latest
steam@09436ea6520b:~/steamcmd$ steamcmd
bash: steamcmd: command not found
steam@09436ea6520b:~/steamcmd$ ll
bash: ll: command not found
steam@09436ea6520b:~/steamcmd$ ls
linux32 linux64 package public siteserverui steam.sh steamcmd.sh
steam@09436ea6520b:~/steamcmd$ ./steamcmd.sh
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Logging directory: '/home/steam/Steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1696019544
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
OK
Steam>
Additional Context:
/root/Steam/logs/stderr.txt is empty
This error can generally be ignored:
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
This part of your log indicates that steamcmd has started successfully:
Steam>
The error came back at the end of a downloaded game. Then it fails the data validation.
Also, the error occurs on CS2 server launch and cause segmentation fault.
I found a valve precision about this issue. It's not from your docker files sorry.
The given workaround was:
ln -s /home/your_user/.local/share/Steam/steamcmd/linux64/steamclient.so /home/your_user/.steam/sdk64/
ln -s /home/your_user/.local/share/Steam/steamcmd/linux32/steamclient.so /home/your_user/.steam/sdk32/
For me, it was:
mkdir /home/your_user/.steam/sdk64/
mkdir /home/your_user/.steam/sdk32/
ln -s /home/your_user/.steam/steamcmd/linux64/steamclient.so /home/your_user/.steam/sdk64/
ln -s /home/your_user/.steam/steamcmd/linux32/steamclient.so /home/your_user/.steam/sdk32/
https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers
I'm having trouble replicating this. steamclient.so
is already being correctly symlinked in this repository. How does a steamclient.so
symlink fix the executable not finding steamservice.so
?
The warning has been suppressed.