Libtool now unconditional in INN CURRENT

Julien ÉLIE julien at trigofacile.com
Thu Jun 14 17:46:50 UTC 2012


Hi Russ,

>> The storage/libstorage.la file generated by libtool mentions:
>
>> dlname='libstorage.so.2'
>> library_names='libstorage.so.2.0.0 libstorage.so.2 libstorage.so'
>
>> If I change these lines to:
>
>> dlname='libstorage.so'
>> library_names='libstorage.so.2.0.0 libstorage.so'
>
>> then only this symlink is created:
>
>> lrwxrwxrwx  1 root root   19 2012-06-12 22:18 libstorage.so ->  libstorage.so.2.0.0*
>
> Yes, but this is means that the SONAME doesn't match the file name, so you
> lose all the versioning properties of shared libraries (you can't install
> version 2 and version 3 at the same time, programs don't find the correct
> version, and so forth).

I had not thought about that.  OK, we then should not alter that feature.



>>> Updating our shared library versions properly on any change would also
>>> fix this, although that's a lot of updates if we were going to try to
>>> keep the versions accurate for snapshots.
>
>> It could also become painful during development, when building and
>> testing changes for 2.6.0 for instance.
>
> Right.  Although I'm not sure how often we change the library code.

Not often, you're right.  And once we are aware of that subtlety with 
symlinks, we pay attention and run "make update" twice!



> If we did update the version the way that we're theoretically supposed to,
> there would be no need to make backups, since the new version wouldn't
> overwrite the old library, but ldconfig would automatically link to the
> latest version.  The versioning would in essence force creation of backups
> only when the library code had actually changed.

We can then keep .OLD for libraries until backups are done by proper 
versioning.

-- 
Julien ÉLIE

« Pour célébrer ce jour heureux, buvons un coup, buvons-en deux. »
   (Aristophane)


More information about the inn-workers mailing list