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#
use --debug and you will see what depends on media-libs/win32codecs This isn't a fault - its expected behaviour.
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.
S
Søren, Thanks for the full explaination - I was feeling slack.
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'.
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.
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?
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.
suggested improvements and compliments in comment 7
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.
After the latest emerge update, the problem has gone away.