[Techtalk] library installation and configure scripts

John.Sturdy john.sturdy at ul.ie
Thu Mar 4 18:37:04 UTC 2010


Hi,

I've been working on a library that uses quite a few other libraries, each of which is optional.  It gets configured using an autoconf-generated configure script, but sometimes the libraries it's looking for don't have names that aren't adorned with numbers.  For example, whereas slang goes in with a complete set of symlinks, thus:

lrwxrwxrwx  1 root installers      17 2010-02-02 15:58 libslang.so -> libslang.so.2.2.2
lrwxrwxrwx  1 root installers      17 2010-02-02 15:58 libslang.so.2 -> libslang.so.2.2.2
-rw-r--r--  1 root installers 2242363 2010-02-02 15:58 libslang.so.2.2.2

(which actually doesn't look quite right to me, but near enough), Python goes in like this:

lrwxrwxrwx  1 root installers      19 2010-02-27 18:55 libpython2.6.so -> libpython2.6.so.1.0
-r-xr-xr-x  1 root installers 3267369 2010-02-27 18:55 libpython2.6.so.1.0

i.e. without a "libpython.so"

Now it may be that in this case that's deliberate, in the expectation of major incompatibilities when that 2.6 changes (I'm going to enquire about that in the Python world) but what I've currently put in my installation instructions is to create that extra link:

lrwxrwxrwx  1 root installers      15 2010-02-27 19:21 libpython.so -> libpython2.6.so

so that the configure script can find it without having to have an entry for each possible version of Python.

However, I suspect that this suggested solution will horrify professional sysadmins... any views on whether this is an advisable approach, whether there's a tool to automate it, or other ways to handle this?  (The library is to provide a uniform API for as many scripting / interpreted languages as I can find, and I'm finding quite a few oddities in how to detect interpreter libraries; this is a typical case.)

__John


More information about the Techtalk mailing list