I want to use libSDL2.so in an upcoming Hollywood plugin. Since Hollywood plugins don't contain compiler startup code, I need to manually load libSDL2.so using elf.library. This doesn't work because according to Thomas Frieden libSDL2.so hasn't been linked against libpthread.so correctly. See here for the discussions on the Hyperion forums about this issue: http://forum.hyperion-entertainment.biz/viewtopic.php?f=26&t=3743#p41442
Please fix.
I don't currently know how to pass -lpthread to libtool which is used to link the libs.
There are some options for SDL2:
1) get rid of pthread and implement native threads. Maybe not ideal but SDL1 had them.
2) finalize cmake scripts, they feel simplier to work with, in my opinion
3) hack the makefiles to bypass libtool
4) ??
I think I will start investigating the option 2.
Could you try this version, it was built using Cmake: http://capehill.kapsi.fi/sdl2/
Thanks, it's working now. But I have to use the name "libSDL2-2.0.so.1" with DLOpen(). When using just "libSDL2.so" I still get a crash, presumably because there is still the old version of libSDL2.so in SOBJS:. So maybe the installer also needs to be fixed to kill the old version as well.
Please do "list SOBJS:" and you should see what link points where.
The latest public SDL2 makes a link called libSDL2.so when you run its installer. Similarly the experimental version (built with CMake) creates 3 links (!) when you run its installer. I don't know why CMake build uses a different .so naming scheme but I hesitate to change the build script without having a deeper knowledge of .so naming/versioning.
This was fixed with 2.0.12 release.