[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/>