[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multiple libraries with inter-dependencies and relinking with DESTDI
From: |
Ralf Wildenhues |
Subject: |
Re: multiple libraries with inter-dependencies and relinking with DESTDIR |
Date: |
Thu, 10 Jan 2008 20:44:45 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
* Mike Frysinger wrote on Thu, Jan 10, 2008 at 08:29:29PM CET:
> On Thursday 10 January 2008, Ralf Wildenhues wrote:
> > * Mike Frysinger wrote on Mon, Dec 31, 2007 at 09:52:36PM CET:
> > > when doing `make install DESTDIR=/some/place`, the relinking is fine for
> > > libone.la. but when relinking libtwo.la, -L$libdir is incorrectly added
> > > to the linking step. an -L flag pointing to the $DESTDIR/$libdir is
> > > added before this and that's great ... it means libtwo.la is relinked
> > > against the new/current version of libone.la and not some random old
> > > version in $libdir. the problem with -L$libdir being added *at all* is
> > > cross-compiling. this path can easily be a host libpath which means it
> > > gets searched before the normal cross-compiler library paths.
> > My qualm with changing that code is: sometimes we do *need* to add both
> > of those paths. Otherwise, users will scream about breaking their
> > legitimate setups. Now, how to find out when it is needed and when not?
>
> can you describe such a legitimate setup ? off the top of my head, i cant
> think of one.
I think this is such a setup (but I haven't tried it out now, please say
so if you want me to try it):
Non-cross-compiling: I have a package, am not root. Its libraries
depend on some in /usr/lib. I do
make install DESTDIR=/temp/dest
(which needs relinking, thus needs the libraries from /usr/lib),
create a tarball from /temp/dest/usr/local/...
and hand that tarball over to the superuser to install it.
FWIW, this setup avoids that the compiler is ever run by root.
Cheers,
RAlf