Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 46093 - emerge -pu --deep world crashes with a traceback
Summary: emerge -pu --deep world crashes with a traceback
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-29 03:23 UTC by Peter Gnodde
Modified: 2004-03-29 15:48 UTC (History)
1 user (show)

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


Attachments
emerge sync output (sync.out,7.41 KB, text/plain)
2004-03-29 11:33 UTC, Carsten Lohrke (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Gnodde 2004-03-29 03:23:52 UTC
When I try to update world, portage crashes with a traceback indicating something with app-docs/php-docs-200403. It does not happen when I just use 'emerge -pu world':

$ emerge -pu --deep world

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

Calculating world dependencies /Traceback (most recent call last):
  File "/usr/bin/emerge", line 2517, in ?
    if not mydepgraph.xcreate(myaction):
  File "/usr/bin/emerge", line 1135, in xcreate
    if not self.create(myk):
  File "/usr/bin/emerge", line 825, in create
    if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse):
  File "/usr/bin/emerge", line 936, in select_dep
    mycheck=portage.dep_check(depstring,self.mydbapi[myroot],self.pkgsettings,myuse=myuse)
  File "/usr/lib/portage/pym/portage.py", line 3302, in dep_check
    mysplit2=dep_wordreduce(mysplit2,mydbapi,mode,use_cache=use_cache)
  File "/usr/lib/portage/pym/portage.py", line 3323, in dep_wordreduce
    deplist[mypos]=dep_wordreduce(deplist[mypos],mydbapi,mode,use_cache=use_cache)
  File "/usr/lib/portage/pym/portage.py", line 3330, in dep_wordreduce
    mydep=mydbapi.match(deplist[mypos],use_cache=use_cache)
  File "/usr/lib/portage/pym/portage.py", line 3795, in match
    return match_from_list(mydep,self.cp_list(mykey,use_cache=use_cache))
  File "/usr/lib/portage/pym/portage.py", line 3539, in match_from_list
    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (app-doc/php-docs-200403) (try adding an '=')"


My emerge info output is:

$ emerge info
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.2-r9, 2.4.22-gentoo-r7)
=================================================================
System uname: 2.4.22-gentoo-r7 i686 Intel(R) Pentium(R) III CPU family      1400MHz
Gentoo Base System version 1.4.3.13
distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -mcpu=pentium3 -fomit-frame-pointer -mfpmath=sse -msse -mmmx -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
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="-O3 -march=pentium3 -mcpu=pentium3 -fomit-frame-pointer -mfpmath=sse -msse -mmmx -funroll-loops -pipe"
DISTDIR="/share/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j16"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/usr/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/share/portage/portage/lilith"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acl apache2 berkdb crypt cscope curl doc emacs emacs-w3 ethereal fastcgi flash foomaticdb gd gdbm gif gpm guile imap ipv6 java jpeg lcms leim libwww lids maildir mbox mcal mmx mule mysql ncurses nls offensive pam pdflib perl plotutils png postgres ppds python readline ruby slang sse ssl tcpd tiff truetype wmf x86 xml xml2 zlib"
Comment 1 Peter Gnodde 2004-03-29 03:29:29 UTC
Same thing happens on another machine, here's the emerge info output for that machine:

meta:~# emerge info
Portage 2.0.50-r2 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.1-gentoo-r1)
=================================================================
System uname: 2.6.1-gentoo-r1 i686 Intel(R) Pentium(R) III CPU family      1400MHz
Gentoo Base System version 1.4.3.13p1
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -mcpu=pentium3 -fomit-frame-pointer -mfpmath=sse -msse -mmmx -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -mcpu=pentium3 -fomit-frame-pointer -mfpmath=sse -msse -mmmx -funroll-loops -pipe"
DISTDIR="/share/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j28"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/usr/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/share/portage/portage/meta"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 acl apache2 berkdb crypt cscope curl doc emacs emacs-w3 ethereal fastcgi flash foomaticdb gd gdbm gif gpm guile imap innodb ipv6 java jpeg lcms leim libwww lids maildir mbox mcal mmx mule mysql ncurses nls nptl offensive pam pdflib perl plotutils png ppds python readline slang sse ssl tcpd threads tiff truetype wmf xml xml2 zlib"
Comment 2 Tuan Van (RETIRED) gentoo-dev 2004-03-29 09:38:02 UTC
>KeyError: "Specific key requires an operator (app-doc/php-docs-200403) (try adding an '=')"
You have app-doc/php-docs entry somewhere in /etc/portage/package* or in /var/cache/edb/world. adding an '=' will solve it.
Comment 3 Peter Gnodde 2004-03-29 10:59:14 UTC
I have no directory called /etc/portage and there is no 'app-doc/php-docs' entry in the /var/cache/edb/world file:

$ grep "php" /var/cache/edb/world 
dev-php/mod_php
dev-db/phpmyadmin
dev-php/php
dev-db/phppgadmin

I have never installed the package (or knew about its existence, for that matter).

If you need more information, I'll be happy to provide it.
Comment 4 Carsten Lohrke (RETIRED) gentoo-dev 2004-03-29 11:26:09 UTC
I'm facing more or less the same problem, since last syncing. Doing emerge regen results in

Traceback (most recent call last):
  File "/usr/bin/emerge", line 2267, in ?
    mymatches=portage.portdb.xmatch("match-all",x)
  File "/usr/lib/portage/pym/portage.py", line 4705, in xmatch
    myval=match_from_list(mydep,self.cp_list(mykey))
  File "/usr/lib/portage/pym/portage.py", line 3539, in match_from_list
    raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (app-doc/ebook-gtk-2.0) (try adding an '=')"

My /etc/portage/package.* files are fine and free from any app-doc/ebook-* stuff as my whole system is.
Comment 5 Carsten Lohrke (RETIRED) gentoo-dev 2004-03-29 11:33:28 UTC
Created attachment 28303 [details]
emerge sync output
Comment 6 Tuan Van (RETIRED) gentoo-dev 2004-03-29 11:44:02 UTC
see if this link help.
http://forums.gentoo.org/viewtopic.php?t=153582&highlight=specific+key+requires
Comment 7 Carsten Lohrke (RETIRED) gentoo-dev 2004-03-29 12:52:41 UTC
Indeed. Interesting that a wrong placed directory hits portage that hard. Thanks for the link.
Comment 8 Peter Gnodde 2004-03-29 13:45:04 UTC
I've tried removing the /usr/portage/app-doc/php-docs directory, that did not help. I've been looking for the problem and have traced it down to the php-sapi.eclass, which has a dependency on php-docs-200403 which is not formulated correctly:

$ grep -rn "php-docs" /usr/portage/eclass/php*
/usr/portage/eclass/php-sapi.eclass:96:   doc? ( app-doc/php-docs-200403 )"

I've checked it by adding the '=' (=app-doc/php-docs-200403, instead of app-doc/php-docs-200403), this fixed the issue.
Comment 9 Tuan Van (RETIRED) gentoo-dev 2004-03-29 14:30:54 UTC
when was the last time you sync? Here my output
$ grep -rn "php-doc" /usr/portage/eclass/php*
/usr/portage/eclass/php-sapi.eclass:96:   doc? ( app-doc/php-docs )
Comment 10 Marius Mauch (RETIRED) gentoo-dev 2004-03-29 15:48:11 UTC
The eclass looks fine here too, closing.