eduardomezencio 10. marras, 2013 15.25
undefined symbol: SDL_GetBasePath
I'm getting this output when I try to run the game (in linux). It was working alright yesterday.. I think it may have something to do with an game update (or steam update). Can somebody help?

Game update: AppID 40800 "Super Meat Boy", ProcID 3309, IP 0.0.0.0:0
Super Meat Boy: Installed in '/home/edju/.local/share/Steam/SteamApps/common/Super Meat Boy'.
Super Meat Boy: Using amd64 version.
./amd64/SuperMeatBoy: symbol lookup error: ./amd64/SuperMeatBoy: undefined symbol: SDL_GetBasePath
Game removed: AppID 40800 "Super Meat Boy", ProcID 3309
Näytetään 1-11 / 11 kommentista
< >
jazztickets 10. marras, 2013 15.46 
Sounds like it's linking to the wrong version of SDL. Make sure you have SDL 2 installed. Post the output of ldd on that binary.
icculus  [kehittäjä] 10. marras, 2013 17.06 
Specifically, make sure you have SDL 2.0.1 installed (it's not in 2.0.0).
eduardomezencio 10. marras, 2013 18.21 
This is the output of ldd. I think this is probably happening because I'm using fedora instead of ubuntu. The version of SDL in fedora repositories is still 2.0.0 .

linux-vdso.so.1 => (0x00007fffeddfe000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003affc00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003b00000000)
libSDL2-2.0.so.0 => /lib64/libSDL2-2.0.so.0 (0x00007f3fe5855000)
libopenal.so.1 => /lib64/libopenal.so.1 (0x0000003b03c00000)
libmariadb.so.1 => /home/edju/.local/share/Steam/SteamApps/common/Super Meat Boy/amd64/./libmariadb.so.1 (0x00007f3fe5600000)
libsteam_api.so => /home/edju/.local/share/Steam/SteamApps/common/Super Meat Boy/amd64/./libsteam_api.so (0x00007f3fe53f0000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000003b04400000)
libm.so.6 => /lib64/libm.so.6 (0x0000003b00800000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003b01000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003aff800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003aff400000)
librt.so.1 => /lib64/librt.so.1 (0x0000003b00c00000)
eduardomezencio 10. marras, 2013 18.37 
I have compiled SDL2.0.1 from code and installed it in /usr/local/lib. How can I tell programs to run with this libraries instead of the ones they are currently using?
eduardomezencio 10. marras, 2013 19.07 
Well, I solved it myself... I just run export LD_LIBRARY_PATH=/usr/local/lib before running the game executeble (or the steam client) . Thank you guys!
icculus  [kehittäjä] 10. marras, 2013 19.35 
eduardomezencio lähetti viestin:
Well, I solved it myself... I just run export LD_LIBRARY_PATH=/usr/local/lib before running the game executeble (or the steam client) . Thank you guys!

Also, if you launch from Steam, Steam will make sure its included copy of SDL 2.0.1 gets used.
icculus  [kehittäjä] 10. marras, 2013 19.36 
(We're talking about better ways to solve this in SDL itself at some point too, fwiw.)
eduardomezencio 10. marras, 2013 20.18 
But where is this included copy of SDL 2.0.1 located? I'm asking because I was running the game from steam and it was not able to run the game... I would like to see if my steam client do really have this library included because, if that's the case, it was not being used for some reason. Not that I really need to, because the game is already working but I just want to understand better what happened.
Viimeisin muokkaaja on eduardomezencio; 10. marras, 2013 20.19
icculus  [kehittäjä] 10. marras, 2013 21.20 
eduardomezencio lähetti viestin:
But where is this included copy of SDL 2.0.1 located? I'm asking because I was running the game from steam and it was not able to run the game... I would like to see if my steam client do really have this library included because, if that's the case, it was not being used for some reason. Not that I really need to, because the game is already working but I just want to understand better what happened.

Restart Steam if you haven't for a few weeks to make sure it picks up the latest Steam Runtime.

Then look in $HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ ... there's a whole bunch of libs in there.

(path is different for x86_64, but same idea)

Steam _should_ be using those when you launch games, but some distros disable them, because reasons.

--ryan.

[Linux] SkiskiLive 11. marras, 2013 1.25 
I have the same problem. I thought it came from my reinstallation of Steam, but it is, as I initialy thought a problem appeared in an update (of Steam or of the game).

As I've already said previously, Steam doesn't seem to provide the 64bit version of SDL2.0 and I don't really want to compile or install testing version of SDL 2.0.1.

If I look at where I have 64bit version of SDL2, I only find:
$ locate -i libSDL2-2.0.so.0 | grep 64
/home/fedoski/.local/share/Steam/SteamApps/common/A Virus Named TOM/lib64/libSDL2-2.0.so.0
/home/fedoski/.local/share/Steam/SteamApps/common/Capsized/lib64/libSDL2-2.0.so.0
/home/fedoski/.local/share/Steam/SteamApps/common/FEZ/lib64/libSDL2-2.0.so.0
/home/fedoski/.local/share/Steam/SteamApps/common/Spirits/x86_64/libSDL2-2.0.so.0
/home/fedoski/bin/jeux/Torchlight/Torchlight/lib64/libSDL2-2.0.so.0
/usr/lib64/libSDL2-2.0.so.0
/usr/lib64/libSDL2-2.0.so.0.0.0

Steam is only providing:
/home/fedoski/.local/share/Steam/ubuntu12_32/libSDL2-2.0.so.0

I'm into the Steam beta program, using Fedora 19 64bit.

The game is working if I copy the 32bit version of libSDL2 into the same directory than the 32bit version of SuperMeatBoy and it's working. But none of the 64bit version of libSDL2 that I listed before works with the 64bit version of SuperMeatBoy.
[Linux] SkiskiLive 11. marras, 2013 12.52 
In fact, we just have to set STEAM_RUNTIME to 1 to make it work. The next version of Steam in RPMFusion will set it to 1 automaticaly.
Näytetään 1-11 / 11 kommentista
< >
Sivua kohden: 15 30 50
Lähetetty: 10. marras, 2013 15.25
Viestejä: 11