ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
774 stars 69 forks source link

64 bit build of game attempts to load 32 bit shared library files. #1311

Open kiroma opened 7 years ago

kiroma commented 7 years ago

System information This throws a lot of errors out into console, i.e.: failed to dlopen /media/kiroma/Data/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/bin/scenefilecache_client.so error=/media/kiroma/Data/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/bin/scenefilecache_client.so: wrong ELF class: ELFCLASS32

kisak-valve commented 7 years ago

Hello @kiroma, it should be noted that these errors are harmless.

kiroma commented 7 years ago

Excuse me, but how does the game work at all if it can't access several parts of code? Is steam downloading libraries for 32-bit and 64-bit build of the game regardless of platform, and the executable attempts to load the 32-bit first?

kisak-valve commented 7 years ago

CS:GO is 64 bit on linux, and is using the 64 bit variants of it's own libraries. There are some left-over calls to open the 32 bit variants of some libraries left over from the transition from 32 bit to 64 bit which fail because 32 bit libraries can not be linked against 64 bit executables.

pbhj commented 5 years ago

I have this too, isn't it super simple to remove the calls? Running diff ./bin/ ./bin/linux64/ | grep -v "Only" | wc -l shows there are 32 libraries which are both in ./bin and ./bin/linux64 bit directories (and one matching one is in linux32 directory).

I'm sure it'll get done in time... Ah, when it's marked closed does that mean it's been fixed?

apprehensions commented 1 year ago

bro...