Menu

#42 Use libtool to build shared libs

closed-wont-fix
nobody
None
5
2014-08-14
2010-07-07
No

Patch switches from ranlib libs (only static) to libtool libs (shared, static or both, available via --enable-static, --enable-shared).

Patch is against 1.8.5 and sets shared module version accordingly.
Will generate following files

/usr/lib64/libplibfnt.so -> libplibfnt.so.1.8.5
/usr/lib64/libplibfnt.so.1 -> libplibfnt.so.1.8.5
/usr/lib64/libplibfnt.so.1.8.5
/usr/lib64/libplibjs.so -> libplibjs.so.1.8.5
/usr/lib64/libplibjs.so.1 -> libplibjs.so.1.8.5
/usr/lib64/libplibjs.so.1.8.5
/usr/lib64/libplibnet.so -> libplibnet.so.1.8.5
/usr/lib64/libplibnet.so.1 -> libplibnet.so.1.8.5
/usr/lib64/libplibnet.so.1.8.5
/usr/lib64/libplibpsl.so -> libplibpsl.so.1.8.5
/usr/lib64/libplibpsl.so.1 -> libplibpsl.so.1.8.5
/usr/lib64/libplibpsl.so.1.8.5
/usr/lib64/libplibpu.so -> libplibpu.so.1.8.5
/usr/lib64/libplibpu.so.1 -> libplibpu.so.1.8.5
/usr/lib64/libplibpu.so.1.8.5
/usr/lib64/libplibpuaux.so -> libplibpuaux.so.1.8.5
/usr/lib64/libplibpuaux.so.1 -> libplibpuaux.so.1.8.5
/usr/lib64/libplibpuaux.so.1.8.5
/usr/lib64/libplibpw.so -> libplibpw.so.1.8.5
/usr/lib64/libplibpw.so.1 -> libplibpw.so.1.8.5
/usr/lib64/libplibpw.so.1.8.5
/usr/lib64/libplibsg.so -> libplibsg.so.1.8.5
/usr/lib64/libplibsg.so.1 -> libplibsg.so.1.8.5
/usr/lib64/libplibsg.so.1.8.5
/usr/lib64/libplibsl.so -> libplibsl.so.1.8.5
/usr/lib64/libplibsl.so.1 -> libplibsl.so.1.8.5
/usr/lib64/libplibsl.so.1.8.5
/usr/lib64/libplibsm.so -> libplibsm.so.1.8.5
/usr/lib64/libplibsm.so.1 -> libplibsm.so.1.8.5
/usr/lib64/libplibsm.so.1.8.5
/usr/lib64/libplibssg.so -> libplibssg.so.1.8.5
/usr/lib64/libplibssg.so.1 -> libplibssg.so.1.8.5
/usr/lib64/libplibssg.so.1.8.5
/usr/lib64/libplibssgaux.so -> libplibssgaux.so.1.8.5
/usr/lib64/libplibssgaux.so.1 -> libplibssgaux.so.1.8.5
/usr/lib64/libplibssgaux.so.1.8.5
/usr/lib64/libplibul.so -> libplibul.so.1.8.5
/usr/lib64/libplibul.so.1 -> libplibul.so.1.8.5
/usr/lib64/libplibul.so.1.8.5

With a little tweak, SOVERSION can be generated from plib version automatically.
Please consider creating shared libs. Creating only static libs is major pain in ass for distro packagers as we need to manually force buildsystem to create those.

Discussion

  • Maciej Mrozowski

    patch against plib-1.8.5

     
  • John F. Fay

    John F. Fay - 2011-01-22
    • status: open --> closed-wont-fix
     
  • John F. Fay

    John F. Fay - 2011-01-22

    There was a major discussion some years ago on the PLIB developers' list about static vs. dynamic libraries. The author came down solidly against dynamically-linked libraries because they lead to "DLL Hell," a place in which I have found myself and to which I have no intention of helping anybody return to.

    If you would like to reopen the discussion, I invite you to join the PLIB developers mailing list.

     
  • Maciej Mrozowski

    I hope you do realize that:
    - "DLL hell" used to be a problem on Windows machines over 10 years ago
    - Gentoo (myself), Debian, Fedora, Ubuntu maintaners are hosting own patches for making plib specifically as shared library
    - Whenever user rebuilds plib, it needs to rebuild all libraries that depend on plib (FlightGear simgear). Otherwise funny things may happen (symbol collisions, linking failures). We call that "static libraries hell".
    - attached patch makes it able to build plib as shared, static and both (configure switches)

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.