FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 11-04-2009, 11:26 AM
Daniel Pielmeier
 
Default emerge --depclean does not remove due to link level dependencies

2009/11/4 Alex Schuster <wonko@wonkology.org>:
> Hi there!
>
> Again, this is just something I am curious about, not a real problem.
> emerge -p --depclean gives me this output:
>
> [...]
> Calculating dependencies... done!
>>>> Checking for lib consumers...
>>>> Assigning files to packages...
> ** In order to avoid breakage of link level dependencies, one or more
> ** packages will not be removed. This can be solved by rebuilding the
> ** packages that pulled them in.
> **
> ** * dev-libs/elfutils-0.131-r2 pulled in by:
> ** * * dev-util/ddd-3.3.12-r1 needs libelf.so.1

Newer versions of portage print this message if a package is about to
be removed because there is no ebuild dependency from all other
installed packages, but it is still needed because other packages link
to it automagically. This seems to be the case here, ddd automagically
links to elfutils depending on whether it is available or not, instead
of being controlled by the ebuild via use flag. So ddd links against
elfutils and portage does not know about it. In this case the
suggestion of rebuilding the packages does not work.

With older portage versions elfutils is removed and the dependency is
ignored. Revdep-rebuild will complain about ddd linking against
elfutils which is not available anymore and then rebuild ddd which
will result in ddd not linking against elfutils anymore.

> [...]
> And some more of that involving media-libs/libcddb-1.3.2, media-
> sound/esound-0.2.41, sys-libs/db-4.5.20_p2-r1 and sys-libs/db-4.6.21_p4.
>
> Okay, ddd needs libelf.so.1, provided by elfutils. Still the same when I
> rebuild ddd. So, why does this output appear at all? ddd needs
> libelf.so.1, this is in elfutils, so of course elfutils is needed just
> like any other package.
>
> Oh, wait.... I think I got it. emerge -pe ddd dos NOT list elfutils. So is
> this a bug in the ddd ebuild, not having elfutils as a dependency? And the
> same would be true for the other packages? Should I file some bugs?
>
> Hmmmm. Now I got it. ddd does indeed not need elfutils. But it uses it
> when it is available. After removing elfutils, ddd still builds. Starting
> the ddd configure script in by hand with the --help option does not show
> options like --without-elf, so it's not the ebuild's fault that ddd makes
> use of the libelf library when it is available.
>

[snip]

> Should some bugs be filed? And if so, should they go:
> - To the ebuild maintainers? But they probably cannot do much about it,
> apart from patching the package's autoconf stuff.
> - To upstream? Well, would they consider this this a bug at all, or a mere
> problem with Gentoo's special build system, that wants to know all the
> dependencies?

If ddd really links automagically against elfutils, you should file a
Gentoo bug about ddd which needs it's autotools fixed. To save the
Gentoo developers some time you can also file an upstream bug and add
a reference to it in the Gentoo bug report. If upstream cares about
automagic dependencies is another story, in Gentoo it is considered a
bug.

--
Daniel Pielmeier
 
Old 11-05-2009, 12:28 PM
Daniel Pielmeier
 
Default emerge --depclean does not remove due to link level dependencies

2009/11/5 Alex Schuster <wonko@wonkology.org>:
>> Newer versions of portage print this message if a package is about to
>> be removed because there is no ebuild dependency from all other
>> installed packages, but it is still needed because other packages link
>> to it automagically. This seems to be the case here, ddd automagically
>> links to elfutils depending on whether it is available or not, instead
>> of being controlled by the ebuild via use flag. So ddd links against
>> elfutils and portage does not know about it. In this case the
>> suggestion of rebuilding the packages does not work.
>>
>> With older portage versions elfutils is removed and the dependency is
>> ignored. Revdep-rebuild will complain about ddd linking against
>> elfutils which is not available anymore and then rebuild ddd which
>> will result in ddd not linking against elfutils anymore.
>
> I wonder what is better? Now no breakage happens, which is fine, but the
> with old portage the breakage would be solved completely after revdep-
> rebuild.

I consider the new way better as it is easier to detect this kind of
problems that way.

>> > Should some bugs be filed? And if so, should they go:
>> > - To the ebuild maintainers? But they probably cannot do much about
>> > it, apart from patching the package's autoconf stuff.
>> > - To upstream? Well, would they consider this this a bug at all, or a
>> > mere problem with Gentoo's special build system, that wants to know
>> > all the dependencies?
>>
>> If ddd really links automagically against elfutils, you should file a
>> Gentoo bug about ddd which needs it's autotools fixed. To save the
>> Gentoo developers some time you can also file an upstream bug and add
>> a reference to it in the Gentoo bug report. If upstream cares about
>> automagic dependencies is another story, in Gentoo it is considered a
>> bug.
>
> Okay, I did so.
> https://savannah.gnu.org/bugs/index.php?27945
> http://bugs.gentoo.org/show_bug.cgi?id=291972

Thank you very much for your help.
I took a quick look in the ddd configure script and it indeed links
against libelf if it is available, without a possibility to
explicitely turn it on or off by a configure flag.
I have assigned the bug accordingly.

--
Daniel Pielmeier
 

Thread Tools




All times are GMT. The time now is 08:44 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org