eduardomezencio 10. nov, 2013 @ 3:25pm
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
Viser 1-11 av 11 kommentarer
< >
jazztickets 10. nov, 2013 @ 3:46pm 
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  [utvikler] 10. nov, 2013 @ 5:06pm 
Specifically, make sure you have SDL 2.0.1 installed (it's not in 2.0.0).
eduardomezencio 10. nov, 2013 @ 6:21pm 
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. nov, 2013 @ 6:37pm 
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. nov, 2013 @ 7:07pm 
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  [utvikler] 10. nov, 2013 @ 7:35pm 
Opprinnelig skrevet av eduardomezencio:
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  [utvikler] 10. nov, 2013 @ 7:36pm 
(We're talking about better ways to solve this in SDL itself at some point too, fwiw.)
eduardomezencio 10. nov, 2013 @ 8:18pm 
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.
Sist redigert av eduardomezencio; 10. nov, 2013 @ 8:19pm
icculus  [utvikler] 10. nov, 2013 @ 9:20pm 
Opprinnelig skrevet av eduardomezencio:
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. nov, 2013 @ 1:25am 
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. nov, 2013 @ 12:52pm 
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.
Viser 1-11 av 11 kommentarer
< >
Per side: 15 30 50
Dato lagt ut: 10. nov, 2013 @ 3:25pm
Innlegg: 11