[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg-shlibdeps and private libraries

On Tue, Nov 13, 2007 at 08:59:32PM +0100, Josselin Mouette wrote:

> Le mardi 13 novembre 2007 à 11:01 -0800, Steve Langasek a écrit :
> > > The current packages install the dynamic libraries simply to /usr/lib
> > > which I want to fix now.  They should go to

> > >      ${ARB_HOME}/lib

> > FWIW, I don't agree that this is a fix.  In one sense it makes /usr/lib
> > "cleaner" by moving private libs into a private directory; however:

> > - Because Debian uses ldconfig, the runtime cost of having additional
> >   libraries in the search path for other apps is negligible
> > - By moving the libs out of the default search path, you introduce the
> >   possibility that an unrelated library will have the same name in /usr/lib;
> >   this is a potential source of user confusion, as well as
> >   difficult-to-diagnose corner-case bugs

> But when you keep private libraries without a stable ABI nor proper
> soname versioning, you increase the chance that other packages start
> using them without thinking.

If that's really the case here, then moving the lib out of /usr/lib is a
reasonable option.  I think other reasonable options are to not ship a -dev
package for the library, or (depending on how big the library is and how
much the privately-cooperating binaries benefit from using a shared library)
only making the lib available as a static lib.

> > - When multiarch matures (or we have some other reason to move library
> >   directories around...), your package will require specific handling to
> >   update the library paths, rather than a simple change to libdir that will
> >   be handled automatically by the ld.so search path.

> Given the number of specific binaries and libraries in this case, I hope
> we will have some generic tools to make them support multiarch.

That's not really possible when you're dealing with packages which
individually have their own way of hard-coding their private search paths.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/

Reply to: