This is after having it fail once along the way to emerging mod_php on a fresh stage 3 install, then since that: # emerge -p jpeg-6b These are the packages that I would merge, in order: Calculating dependencies !!! Problem in media-libs/jpeg-6b dependencies. !!! "Specific key requires an operator (media-libs/jpeg-6b) (try adding an '=')" exceptions The initial failure was the same as reported in a recent bug that got marked as a duplicate of the libtool stuff - but neither fix-libtool.sh nor emerging libtool again does anything to change the status of this. Also, perhaps as a second bug, the message: "!!! "Specific key requires an operator (media-libs/jpeg-6b) (try adding an '=')" exceptions" is underspecific as to what the heck the user is supposed to do, not to mention wildly ungrammatical. What is the relation of adding an "=" somewhere and the word "exceptions"? Reproducible: Always Steps to Reproduce: 1. 2. 3. (The kernel version here reflects that the install is chrooted from an older Gentoo install) # emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, 2.4.28 i686) ================================================================= System uname: 2.4.28 i686 Pentium III (Coppermine) Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -fprefetch-loop-arrays -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -fprefetch-loop-arrays -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apm arts avi berkdb bitmap-fonts crypt cups eds emboss encode foomaticdb fortran gdbm gif gpm gstreamer gtk gtk2 imlib ipv6 jpeg kde libg++ libwww mad mbox mikmod motif mp3 mpeg ncurses nls ogg oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl spell ssl tcpd truetype truetype-fonts type1-fonts vorbis xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
The bug report that showed the same initial failure (but got -- maybe wrongly -- marked as a duplicate of the libtool stuff) is 102342. Strangely, the first time through was the only time it got that far. An immediate re-attempt got the message cited at the top of my report here, which is consistent on retries.
(In reply to comment #0) > !!! Problem in media-libs/jpeg-6b dependencies. > !!! "Specific key requires an operator (media-libs/jpeg-6b) (try adding an '=')" Uh... the only problem here is between keyboard and chair. Read man emerge or at least read the error message which tells you what to do. Closing.
CLOSED
> Uh... the only problem here is between keyboard and chair. Read man emerge or at > least read the error message which tells you what to do. Please pay attention to the part of the report where I explained that the error message is unreadable because it is not in human syntax. There is nothing in man emerge that describes a "Specific key requires an operator" situation. No doubt _you_ know what this means, but it's way out of context for a normal user of emerge -- and I've been using emerge on multiple systems since Gentoo was brand new. This variety of cryptic error message is one I haven't run across until just recently. The emerge man page does _not_ address how do deal with it (unless it's using different terms for it -- but we shouldn't need a dictionary to translate terms between the error message and the man page, right?). Jakub, since you evidently aren't a proponent of clear and complete communications, please let someone on the team deal with this who is. Either that, or when you say the error message "tells you what to do," and I've already specified that it's opaque, rephrase it in terms sufficient to be understood by an average user -- and file a bug to get the language fixed so emerge isn't such a problem for others going forward.
(In reply to comment #4) > There is nothing in man emerge that describes a "Specific key requires an > operator" situation. No doubt _you_ know what this means, but it's way out of > context for a normal user of emerge -- and I've been using emerge on multiple > systems since Gentoo was brand new. This variety of cryptic error message is (try adding an '=') is a cryptic error message? > I haven't run across until just recently. The emerge man page does _not_ address > how do deal with it (unless it's using different terms for it -- but we > shouldn't need a dictionary to translate terms between the error message and the > man page, right?). Of course it does: $ man emerge <snip> ebuild An ebuild must be, at a minimum, a valid Portage package directory name without a version or category, such as portage or python. Both categories and version numbers may be used in addition, such as sys-apps/portage or =python-2.2.1-r2. emerge ignores a trailing slash so that filename completion can be used. The ebuild may also be an actual filename, such as /usr/portage/app-admin/python/python-2.2.1-r2.ebuild. WARNING: The implementation of emerge /path/to/ebuild is broken and so this syntax shouldn't be used. </snip>
yes, the first part of the error message is more for people 'in the know', but the trailing message "(try adding an '=')" is pretty easy to read and does explain exactly what you're doing wrong
Why doesn't emerge just preprend the "=" and try again? In 99% of all cases, that would probably solve the problem.
Fixed in portage-2.0.53_rc3.
(In reply to comment #7) > Why doesn't emerge just preprend the "=" and try again? > In 99% of all cases, that would probably solve the problem. Because if I am running emerge in a script and my script generates bogus data for some reason I don't want emerge to guess for me, especially if it's an emerge -C situation.
'emerge -C eix-0.3.0-r1' and 'emerge -C =eix-0.3.0-r1' already do practically the same, don't they? If so, I don't see your point.
Fixed in portage-2.0.53_rc4