Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 70030 - emerge --verbose --pretend --deep world fails to build depgraph
Summary: emerge --verbose --pretend --deep world fails to build depgraph
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: x86 Linux
: High enhancement
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-04 03:36 UTC by Lyall Pearce
Modified: 2004-11-17 23:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lyall Pearce 2004-11-04 03:36:50 UTC
I have the following packages from ~x86  (extracted from my package.keywords file)
media-video/mplayer	~x86
net-www/mplayerplug-in	~x86
mail-filter/popfile	~x86
net-p2p/amule		~x86
dev-util/subversion	~x86

Now, when I do a "emerge --verbose --pretend --deep world"
I get (See Actual Results field)

This problem does not present itself if I omit the --deep parameter
This problem also did not occur prior to the 2.0.51 update

I do have gpg enabled BUT have followed instructions detailed in one of the early bug reports on that, although, this would appear to be unrelated.

Feel free to contact me if further information is required.

Reproducible: Always
Steps to Reproduce:
1. Login as root (I use the console)
2. emerge --verbose --pretend --deep world
3.
Actual Results:  
sh-2.05b# emerge --verbose --pretend --deep world | cat

These are the packages that I would merge, in order:

Calculating world dependencies  .
!!! All ebuilds that could satisfy ">=media-libs/win32codecs-20040916" have been
masked.
!!! One of the following masked packages is required to complete your request:
- media-libs/win32codecs-20040916 (masked by: ~x86 keyword)
- media-libs/win32codecs-20040916-r1 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or 
section 2.2 "Software Availability" in the Gentoo Handbook.
!!!    (dependency required by "media-video/mplayer-1.0_pre5-r4" [ebuild])


!!! Problem with ebuild media-video/mplayer-1.0_pre5-r4
!!! Possibly a DEPEND/*DEPEND problem.

!!! Depgraph creation failed.
sh-2.05b#

Expected Results:  
A tree showing libraries I have to update

sh-2.05b# emerge info
Portage 2.0.51-r2 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1,
2.6.9-gentoo-r1-Lyall i686)
=================================================================
System uname: 2.6.9-gentoo-r1-Lyall i686 Intel(R) Pentium(R) 4 CPU 2.60GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -mcpu=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config
/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -mcpu=i686 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks gpg sandbox sfperms userpriv
usersandbox"
GENTOO_MIRRORS="ftp://mirror.internode.on.net/pub/gentoo
ftp://mirror.pacific.net.au/linux/Gentoo http://mymirror.asiaosc.org/gentoo/
http://www.zentek-international.com/mirrors/gentoo/
http://open-systems.ufl.edu/mirrors/gentoo
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://mirror.internode.on.net/gentoo-portage"
USE="X apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups directfb encode
esd f77 fam foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml imagemagick
imlib java jpeg kde libg++ libwww mad mikmod motif mozilla mpeg nas ncurses nls
oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl
slang spell sqlite ssl svga tcltk tcpd tiff truetype x86 xml xml2 xmms xv zlib"

sh-2.05b#
Comment 1 Daniel Black (RETIRED) gentoo-dev 2004-11-04 03:46:54 UTC
use --debug and you will see what depends on media-libs/win32codecs

This isn't a fault - its expected behaviour.
Comment 2 Søren Chrestensen 2004-11-04 04:21:36 UTC
media-libs/win32codecs is a RDEPEND of mplayer if you are running x86 (as you do)

When using mplayer-1.0_pre5-r4 (which you are here) win32codecs has to be at least version -20040916 which are masked by keywords. Adding "media-libs/win32codecs ~x86" should fix the problem.

As Daniel Black said this is not a bug but an expected behaviour.
Comment 3 Daniel Black (RETIRED) gentoo-dev 2004-11-04 04:35:56 UTC
 S
Comment 4 Daniel Black (RETIRED) gentoo-dev 2004-11-04 04:35:56 UTC
 Søren,
Thanks for the full explaination - I was feeling slack.
Comment 5 Lyall Pearce 2004-11-05 02:21:06 UTC
errrmm. Nah
Expected behaviour is to ignore the item that is invalid and continue produce the update tree.
So what if media player has a dependancy?
emerge supports the inclusion of ~x86, it therefore, must suppor the fact that something is blocked and condinue with processing.
The end result, because of the 'expected behaviour', I am unable to keep my system up to date.

This is not 'Expected behaviour'.
Comment 6 Lyall Pearce 2004-11-05 02:38:17 UTC
One additional note (well, two actually)

Thanks to those that responded to my 'bug', I do appreciate your efforts.

After adding "media-libs/win32codecs ~x86" to my /etc/portage/package.keywords
things seem to be working ok (hey, its a damn complicated piece of software, I am suitably impressed).
The Bug still remains open, however, because I am able to issue 
$  USE_KEYWORDS="~x86" emerge blah
then cannot issue a 
$  emerge --update --deep world
afterwards (which prompted my bug report to start with)

The fact that I applied the above 'fix' and still see...

Calculating world dependencies -QA Notice: sed in global scope: dev-libs/nss-3.9.2
 |gnome
gnome
opengl
gnome
gnome
opengl
 \QA Notice: has_version() in global scope: eclass gtk-engines2
QA Notice: has_version() in global scope: eclass gtk-engines2
QA Notice: has_version() in global scope: eclass gtk-engines2
 ...done!

is beside the point.
Comment 7 Daniel Black (RETIRED) gentoo-dev 2004-11-05 02:57:07 UTC
OK - not feeling slack now.

comment 4:

You told it to emerge media-video/mplayer by placing it into package.keywords

To emerge mplayer it needed to emerge media-libs/win32codecs.

It cannot emerge media-libs/win32codecs because it hasn't been told to ACCEPT_KEYWORDS=~x86  that is the keywords that win32codecs does have (ACCEPT_KEYWORDS ->/etc/make.conf or env on the command  line).

btw the ~x86 in the package.keywords is misleading and unnecessary. Its realy giving those packages a x86 keyword by being in this file.

comment 5:

I think what you are after is:

env ACCEPT_KEYWORDS=~x86 emerge  --update --deep world

The rest of the stuff is developers taking short cuts and not doing proper QA on the ebuild they put in. The good news is this doesn't affect you apart from dumping lots of QA and useflags sparatically in your emerge output.

happy?
Comment 8 Lyall Pearce 2004-11-05 05:45:17 UTC
It would be appreciated if emerge did not abandon the entire deptree build, rather it abandoned just the failed deptree and contined with other trees.
This would allow me (or others who don't do everything correctly) to continue to be able to update their system.
ie. error message indicating mplayer dependancy tree could not be generated due to conflicting tree keywords (maybe a reference to a README or URL which detailed the problem)
Other than that, I am extremely happy with emerge and offer nothing but admiration to those who create and maintain this facility.
Comment 9 Daniel Black (RETIRED) gentoo-dev 2004-11-14 05:39:34 UTC
suggested improvements and compliments in comment 7
Comment 10 Jason Stubbs (RETIRED) gentoo-dev 2004-11-17 14:13:09 UTC
I really don't think it's absolutely necessary. You have the following two lines which tell you exactly what is wrong. It even says to read the handbook which has all the information you need to "solve" the problem.

!!! All ebuilds that could satisfy ">=media-libs/win32codecs-20040916" have been masked.
!!!    (dependency required by "media-video/mplayer-1.0_pre5-r4" [ebuild])

Portage will probably be able to display you a list of what else can be installed in the future but it is not possible now. However, regardless of whether a list is done or not, portage will never continue on with an emerge if the configuration is not sane.
Comment 11 Lyall Pearce 2004-11-17 23:31:03 UTC
After the latest emerge update, the problem has gone away.