box86 icon indicating copy to clipboard operation
box86 copied to clipboard

Symbol execvpe not found SteamCMD

Open j-bridenbaugh opened this issue 1 year ago • 15 comments

I have been successfully using box86 for a couple months now to run SteamCMD on an ARM64 ubuntu server. When I tried to update my game server today using the SteamCMD client I got a couple errors and it didn't work. My guess is that SteamCMD was updated to use symbols that are not supported in box86 yet, but I'm no expert on this stuff so I could be wrong. Let me know if there is anything that I can do about this or if I just have to wait for something to get implemented in box86.

Distribution: Ubuntu 24.04.1 LTS

Box86 with Dynarec v0.3.7 fcbebfa8 built on Jul 11 2024 02:51:32
Redirecting stderr to '/home/palworld/Steam/logs/stderr.txt'
Logging directory: '/home/palworld/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1731433425
-- type 'quit' to exit --
Loading Steam API...Error: Symbol execvpe not found, cannot apply R_386_JMP_SLOT 0x6765b324 (0x1308f6) in /home/palworld/steamcmd/linux32/steamclient.so
Error: relocating Plt symbols in elf steamclient.so
dlmopen steamclient.so failed: Cannot dlopen("steamclient.so"/0x65070000, 2)

Error: Symbol execvpe not found, cannot apply R_386_JMP_SLOT 0x6765b324 (0x1308f6) in /home/palworld/steamcmd/linux32/steamclient.so
Error: relocating Plt symbols in elf steamclient.so
dlmopen steamclient.so failed: Cannot dlopen("steamclient.so"/0x65070000, 2)

src/common/steam/client_api.cpp (587) : ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed, most likely because you are missing a 32-bit dependency of steamclient.so (the Steam client is a 32-bit app).

FAILED (1)

j-bridenbaugh avatar Nov 30 '24 20:11 j-bridenbaugh

I already udpated box86 with this symbol. Update you version and it should work.

ptitSeb avatar Nov 30 '24 20:11 ptitSeb

That did get me past the symbol error, but now the check for updates is not working. It gets stuck and never finishes updating even if I let it run for hours.

Box86 with Dynarec v0.3.7 b9d565f4 built on Dec  1 2024 04:37:08
Redirecting stderr to '/home/palworld/Steam/logs/stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...

j-bridenbaugh avatar Dec 02 '24 00:12 j-bridenbaugh

I blew away my old VM and created a new one. When I configured box86 and tried to run SteamCMD again I had the same issue where it gets stuck checking for updates. I was able to get SteamCMD to work in an environment that wasn't using box86 so it has to be some issue with this project.

j-bridenbaugh avatar Dec 03 '24 02:12 j-bridenbaugh

I've encountered this same issue on a fresh install on Ubuntu 24.04 on an Ampere workstation...

Error: relocating Plt symbols in elf libXext.so.6
Error: Symbol XESetCopyEventCookie not found, cannot apply R_386_JMP_SLOT 0x637f900c (0x1736) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: Symbol _XUnknownNativeEvent not found, cannot apply R_386_JMP_SLOT 0x637f9014 (0x1756) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: Symbol XESetWireToEventCookie not found, cannot apply R_386_JMP_SLOT 0x637f9030 (0x17c6) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: relocating Plt symbols in elf libXi.so.6
Error: PltResolver: Symbol dlmopen(ver 27: dlmopen@GLIBC_2.3.4) not found, cannot apply R_386_JMP_SLOT 0x306c9b98 (0x300294d6) in /home/system76/.local/share/Steam/ubuntu12_32/steam

Looking to see what version of box86 is installed... I was using the repos suggested by Ampere in their guide, but it may be out of date.

geerlingguy avatar Dec 11 '24 22:12 geerlingguy

Box86 version is:

system76@thelio-astra:~$ apt-cache policy box86
box86:armhf:
  Installed: 0.3.8+20241208.ec278bd-1
  Candidate: 0.3.8+20241208.ec278bd-1
  Version table:
 *** 0.3.8+20241208.ec278bd-1 500
        500 https://itai-nelken.github.io/weekly-box86-debs/debian  Packages
        100 /var/lib/dpkg/status

Box64 version:

system76@thelio-astra:~$ apt-cache policy box64
box64:
  Installed: 0.3.3+20241211.e6d1bf7-1
  Candidate: 0.3.3+20241211.e6d1bf7-1
  Version table:
 *** 0.3.3+20241211.e6d1bf7-1 500
        500 https://ryanfortner.github.io/box64-debs/debian ./ Packages
        100 /var/lib/dpkg/status

geerlingguy avatar Dec 11 '24 22:12 geerlingguy

I've encountered this same issue on a fresh install on Ubuntu 24.04 on an Ampere workstation...

Error: relocating Plt symbols in elf libXext.so.6
Error: Symbol XESetCopyEventCookie not found, cannot apply R_386_JMP_SLOT 0x637f900c (0x1736) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: Symbol _XUnknownNativeEvent not found, cannot apply R_386_JMP_SLOT 0x637f9014 (0x1756) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: Symbol XESetWireToEventCookie not found, cannot apply R_386_JMP_SLOT 0x637f9030 (0x17c6) in /home/system76/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXi.so.6
Error: relocating Plt symbols in elf libXi.so.6
Error: PltResolver: Symbol dlmopen(ver 27: dlmopen@GLIBC_2.3.4) not found, cannot apply R_386_JMP_SLOT 0x306c9b98 (0x300294d6) in /home/system76/.local/share/Steam/ubuntu12_32/steam

Looking to see what version of box86 is installed... I was using the repos suggested by Ampere in their guide, but it may be out of date.

Why using x86 version of libXi and libXext? Why not installing armhf version of them?

ptitSeb avatar Dec 12 '24 08:12 ptitSeb

also also, this ticket is about SteamCMD, not plain Steam

ptitSeb avatar Dec 12 '24 08:12 ptitSeb

@ptitSeb - Ah, wasn't looking too closely, just matching search terms.

I was following along the Ampere guide for Steam install (https://github.com/AmpereComputing/Steam-on-Ampere) because I tried the Pi-Apps install, but encountered errors installing box86/box64.

geerlingguy avatar Dec 12 '24 15:12 geerlingguy

The guide seems fine, but the install_steam.sh from box86 is bit rough, and does not support many OS, so it might have just skipped the install "dependancies" for the armhf side of things.

ptitSeb avatar Dec 12 '24 16:12 ptitSeb

@ptitSeb - Thanks, I'll dig into the deps and make sure I get everything that might be installed from the Pi-Apps scripts.

geerlingguy avatar Dec 12 '24 19:12 geerlingguy

@ptitSeb - I tried manually running the install commands in install_steam.sh, but that doesn't seem to work...

system76@thelio-astra:~/Downloads/box86$ sudo dpkg --add-architecture armh
system76@thelio-astra:~/Downloads/box86$ sudo apt update
...
system76@thelio-astra:~/Downloads/box86$ sudo apt install libc6:armhf libsdl2-2.0-0:armhf libsdl2-image-2.0-0:armhf libsdl2-mixer-2.0-0:armhf libsdl2-ttf-2.0-0:armhf libopenal1:armhf libpng16-16:armhf libfontconfig1:armhf libxcomposite1:armhf libbz2-1.0:armhf libxtst6:armhf libsm6:armhf libice6:armhf libgl1:armhf libxinerama1:armhf libxdamage1:armhf libibus-1.0-5
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libpng16-16:armhf

geerlingguy avatar Dec 13 '24 23:12 geerlingguy

I guess libpng16 as been deprecated for a newer version? Just remove it from the command so the other packages install.

ptitSeb avatar Dec 14 '24 07:12 ptitSeb

@ptitSeb - Removing that, I wind up with:

The following packages have unmet dependencies:
 libfluidsynth3:armhf : Depends: libdbus-1-3:armhf (>= 1.9.14) but it is not installable
 libpulse0:armhf : Depends: libdbus-1-3:armhf (>= 1.9.14) but it is not installable
                   Depends: libsystemd0:armhf but it is not going to be installed
 libspa-0.2-modules:armhf : Depends: libdbus-1-3:armhf (>= 1.9.14) but it is not installable
                            Depends: libsystemd0:armhf but it is not going to be installed
                            Depends: libudev1:armhf (>= 183) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Going to check on pi-apps scripts and see if it has a more up to date set of packages? (Or maybe this setup doesn't run on Ubuntu 24.04? I might have to uninstall and reinstall all the box86/box64 stuff and start over on here...)

geerlingguy avatar Dec 14 '24 17:12 geerlingguy

Pi-apps script has similar issues...

Installing the pi-apps-5f3374a7 package...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 libcolord2:armhf : Depends: libudev1:armhf (>= 196) but it is not going to be installed
 libdbus-1-3:armhf : Depends: libsystemd0:armhf but it is not going to be installed
 libpulse0:armhf : Depends: libsystemd0:armhf but it is not going to be installed
 libspa-0.2-modules:armhf : Depends: libsystemd0:armhf but it is not going to be installed
                            Depends: libudev1:armhf (>= 183) but it is not going to be installed
 pi-apps-5f3374a7 : Depends: libudev1:armhf
E: Unable to correct problems, you have held broken packages.
Apt finished.
Failed to install the packages!
The APT reported these errors:
E: Unable to correct problems, you have held broken packages.

geerlingguy avatar Dec 14 '24 17:12 geerlingguy

(Moving discussion over to https://github.com/Botspot/pi-apps/issues/2693 as it seems like the same issue in both places, and it's easier to use Pi-Apps to do the actual install.)

geerlingguy avatar Dec 14 '24 17:12 geerlingguy