[ldb] Re: Moving basic libs to a new repo and release them as a separate package

Michael Sweet mike at easysw.com
Tue Feb 28 00:47:12 GMT 2006


simo wrote:
> ...
>> PS: waiting for the dreaded 'libtool' to be suggested ...
> 
> /me wonder why libtool is so hated, but I've never looked into it so ...

OK, first the cons:

     - libtool is something of a black box that doesn't work as well
       as it is advertised to.  When something goes wrong, it is
       pretty much impossible to track down what is going wrong.

     - libtool forces you to use libtool to compile, link, install,
       and clean files - you can't mix and match until after the
       libraries are installed, and even then you can run into
       problems on some platforms.

     - libtool has a long history of creating placeholder files that
       point to the real ones in a .libs subdirectory, forcing you to
       use libtool to even access libraries in your build tree.

     - Programs end up using a wrapper script which does the
       appropriate platform-specific library redirection and runs the
       program from the .libs subdirectory - this makes debugging
       almost impossible.

     - libtool's install mode relinks the library/program, often
       resulting in a non-working binary or library due to differences
       in where the file is initially installed vs. ultimately
       installed (think buildroot-type packaging such as RPM)

The pros:

     - libtool generally makes it easy to create both static and
       shared libraries.

     - libtool is fairly well standardized, so you'll likely be able
       to get support/help for any problems that crop up.

In my experience, building shared libraries is not a big deal; there
are basically 4 different types of shared libraries to support, and
the differences are small enough that they can be localized to a few
places in your makefile.

See the CUPS repo for examples:

 
http://svn.easysw.com/public/cups/trunk/config-script/cups-sharedlibs.m4
     http://svn.easysw.com/public/cups/trunk/cups/Makefile

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Publishing Software        http://www.easysw.com


More information about the samba-technical mailing list