Subject: Re: [ecasound] embedding interface version numbers in library names
From: Kai Vehmanen (kaiv_AT_wakkanet.fi)
Date: Wed Apr 24 2002 - 20:25:48 EEST
>> Any objections to using Debian-style library naming conventions
>> for ecasound libraries?
> FWIW, I believe there's a more elegant approach:
> Might not be a short-term thing, but worth considering.
Yes, that's pretty close to what I use personally
to compile apps from CVS-tree and source packages -
everything is installed under my home directory.
Of course, your proposal goes much further and yes,
it's a good approach. But there are problems left:
1. Long-term vs short-term
Pkg-style solution doesn't help people using current
Linux-distros; library versioning will be immediately
useful and not limited to new distros
2. Pains of dynamic linking
Compiling and linking against packages installed to
non-standard (not in library/include path) is not
a big problem, but runtime linking still is.
When linking you can give only one -rpath option
to the linker. That means you can only give one
library directory not in /etc/ld.so.conf. Without
libtool you might have a little more flexibility,
but then you'd have to maintain support for the
million different variants of shared libraries on
different platforms. This thing alone is one huge
source of trouble.
Adding the version number to the library names
solves this problem:
a) multiple libraries can be installed to the
same directory (located either using ld.so.conf
or with link-time -rpath specification);
can be a pkg-style separate directory tree
b) when linking apps, you can use "-lecasound2",
"-lecasound3" to select to which interface
you want to link to (a client app is always
linked against one specific interface version)
Without embedded library versions you can
do both (a) and (b), but not both at the same
time and that's the big problem.
-- http://www.eca.cx Audio software for Linux! -- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.
This archive was generated by hypermail 2b28 : Wed Apr 24 2002 - 20:26:20 EEST