Menu

#25 Can't manually load libSDL2.so

1.0
closed
nobody
None
2022-01-15
2017-06-16
afalkenhahn
No

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.

Discussion

  • capehill

    capehill - 2017-06-18

    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.

     
  • capehill

    capehill - 2017-07-06

    Could you try this version, it was built using Cmake: http://capehill.kapsi.fi/sdl2/

     
  • afalkenhahn

    afalkenhahn - 2017-07-06

    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.

     
  • capehill

    capehill - 2017-07-07

    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.

     
  • capehill

    capehill - 2022-01-15
    • status: open --> closed
     
  • capehill

    capehill - 2022-01-15

    This was fixed with 2.0.12 release.

     

Log in to post a comment.