[OpenAFS-devel] Why I like libtool

Russ Allbery rra@stanford.edu
Fri, 13 May 2005 17:11:37 -0700


Russ Allbery <rra@stanford.edu> writes:

>  * Currently, the shared libraries aren't being given SONAMEs on Linux,
>    or for that matter on any other ELF platform except Solaris.  That
>    means that you can't version the shared libraries properly even if you
>    *were* being sure to bump the version number every time you made an
>    ABI change, since linking against the libraries declares a dependency
>    on libafsrpc.so and libafsauthent.so without the major version.  This
>    answers my question about whether it's safe to use those libraries on
>    Linux.

>  * We have what looks to be a perfectly usable mapfile to control symbol
>    exporting on Solaris and Linux, but nothing uses it.  (At least GNU ld
>    doesn't; maybe Solaris has some magic around the filename "mapfile"
>    that I don't know about.)  I'm not sure why that is, but the libtool
>    -export-symbols flag sure would come in handy and would mean we
>    wouldn't have to duplicate work between ELF platforms and AIX.

Ticket #18767 has a patch for these two issues without doing anything
radical.  The reason why Solaris shared library linking was using that
mapfile was because the -Wl,-M flag was actually set in osconf.m4 and
substituted into SHLIB_CFLAGS.  I'm not sure that's going to be useful
going forward if more than one shared library is ever built out of the
same directory, but I at least follow the logic now.

I didn't do that with the equivalent Linux flag in the patch.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>