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

Re: DSO linking changes for wheezy



On Tue, Nov 16, 2010 at 09:49:08AM +0100, Julien Cristau wrote:
> On Mon, Nov 15, 2010 at 21:29:07 -0500, Matt Turner wrote:
> > >> I can't see why you think --as-needed is fundamentally wrong or unnecessary.

> > >> Check out http://www.gentoo.org/proj/en/qa/asneeded.xml

> > >> --as-needed has saved tons of time for upgrades like Cairo in Gentoo,
> > >> where Cairo had been linked to glitz which is now useless and gone.

> > > Not a problem, if Cairo was properly exposing the dep.

> > >> So
> > >> when people upgraded Cairo, all the software that linked against it
> > >> (and also unnecessarily linked against glitz)

> > > Why did it get linked against glitz?  That's where the problem is.

> > I think because -lglitz was in cairo's .pc file.

> That should be fixed by removing -lglitz from cairo's .pc file, not by
> passing --as-needed to the linker.

I agree with you, -lglitz should never have been listed in the .pc file to
begin with.

However, *given* that it was there, the default --no-as-needed behavior
means that removing libglitz is more painful than it would be otherwise,
because instead of just rebuilding cairo itself without glitz, you must
rebuild everything above cairo in the stack that used pkg-config for
linking.

I don't argue that this makes --as-needed *correct* as a default, but I
think it's clear how using --as-needed may benefit a distribution in terms
of reducing churn when library dependencies change.

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


Reply to: