View previous topic :: View next topic |
Author |
Message |
airflow Apprentice
Joined: 14 Dec 2003 Posts: 173 Location: Vienna, Austria
|
Posted: Fri Feb 13, 2004 1:06 pm Post subject: Specific key requires an operator problem |
|
|
Mod Edit: This is a very common problem, so I'm making this topic sticky. I've also changed the title from "emerge broken?" to "Specific key requires an operator problem" - tomk
edit - unstuck since this doesn't seem to be an often duplicated post anymore. -masseya
Hi,
I am having troubles updating my gentoo-system. I synced the portage-tree, "emerge -vup" showed a lot of to be updated programs, but when I issued "emerge -vu" it could not complete the task. When I do an "emerge -vu" now, the output is
Code: | root@aquarius airflow # emerge -vu 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 962, in select_dep
myeb=portage.portdb.xmatch("bestmatch-visible",x)
File "/usr/lib/portage/pym/portage.py", line 4690, in xmatch
myval=best(self.xmatch("match-visible",None,mydep,mykey))
File "/usr/lib/portage/pym/portage.py", line 4701, in xmatch
myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep,mykey))
File "/usr/lib/portage/pym/portage.py", line 4687, in xmatch
myval=self.gvisible(self.visible(self.cp_list(mykey)))
File "/usr/lib/portage/pym/portage.py", line 4733, in visible
mymatches=self.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 (net-www/epiphany-1.0.7) (try adding an '=')"
|
I am not sure what to do now - I want to add that i have injected epiphany-1.0.7 to prevent the building of Mozilla (I use Firebird and do not want to build the normal Mozilla, too).
regards,
airflow |
|
Back to top |
|
|
Halcy0n Developer
Joined: 17 Sep 2003 Posts: 1682 Location: Freehold, NJ
|
Posted: Fri Feb 13, 2004 1:58 pm Post subject: |
|
|
Check in /var/cache/edb/world and look for the line that says epiphany. Either remove the version from the end or stick an = in front of it. _________________ Mark Loeser
http://www.halcy0n.com |
|
Back to top |
|
|
airflow Apprentice
Joined: 14 Dec 2003 Posts: 173 Location: Vienna, Austria
|
Posted: Fri Feb 13, 2004 2:26 pm Post subject: |
|
|
HaLCy0n wrote: | Check in /var/cache/edb/world and look for the line that says epiphany. Either remove the version from the end or stick an = in front of it. |
There is no epiphany-entry in this file.
regards,
airflow |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9501 Location: beyond the rim
|
Posted: Fri Feb 13, 2004 3:40 pm Post subject: |
|
|
Also check files in /etc/portage if present |
|
Back to top |
|
|
plurk n00b
Joined: 13 Feb 2004 Posts: 1
|
Posted: Fri Feb 13, 2004 4:51 pm Post subject: Encountering a similar problem |
|
|
I'm encountering a similar problem, but only when specifying the build version number. IE:
Code: |
emerge -p sys-libs/pam-0.77
These are the packages that I would merge, in order:
Calculating dependencies
!!! Problem in sys-libs/pam-0.77 dependencies.
!!! "Specific key requires an operator (sys-libs/pam-0.77) (try adding an '=')"
|
Same weird error, but:
Code: |
emerge -p pam
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild U ] sys-devel/autoconf-2.58 [2.57-r1]
[ebuild U ] sys-libs/cracklib-2.7-r8 [2.7-r7]
[ebuild U ] sys-libs/pam-0.77 [0.75-r11]
|
It's not a major problem for me, but it looks like some sort of bug either in my configuration or in emerge.[/code] |
|
Back to top |
|
|
airflow Apprentice
Joined: 14 Dec 2003 Posts: 173 Location: Vienna, Austria
|
Posted: Fri Feb 13, 2004 6:18 pm Post subject: |
|
|
Mmh. Seems to be a weird bug in portage... Here is what I've done: First I changed (just added the "=") /etc/portage/package.mask to
Code: | root@aquarius portage # cat /etc/portage/package.mask
=net-www/epiphany-1.0.7
|
After that, the error-message changed to
Code: | root@aquarius portage # emerge -vup world
These are the packages that I would merge, in order:
Calculating world dependencies /gnome
gnome
gnome
gnome
gnome
!!! all ebuilds that could satisfy ">=net-www/epiphany-1.0.7" have been masked.
!!! possible candidates are:
gnome
- net-www/epiphany-1.0.7 (masked by: package.mask)
!!! (dependency required by "gnome-base/gnome-2.4.2" [ebuild])
!!! Problem with ebuild gnome-base/gnome-2.4.2
!!! Possibly a DEPEND/*DEPEND problem.
!!! Depgraph creation failed.
|
I don't understand the message. emerge complains that it can't build epiphany-1.0.7, because it is masked. It is true that it is masked, but it's injected too, so emerge should think that it's already built!?
Finally, I completely removed the package.mask file with the oneliner. Then it worked again. I'm masking the epiphany ebuild to prevent it from being built when the version number increases. So that I won't have to inject it every time again when a new version is introduced. Seems it doesn't work this way... So I'll have to look at the output "emerge -vup" carefully in the future to see if it wants to built a new version of epiphany (which I do not want). Is there a better solution?
regards,
airflow |
|
Back to top |
|
|
tomk Bodhisattva
Joined: 23 Sep 2003 Posts: 7221 Location: Sat in front of my computer
|
Posted: Fri Aug 06, 2004 1:53 pm Post subject: |
|
|
Other places to look for missing operators are files in these directories:
Code: | /var/cache/edb/
/var/lib/portage/
|
Anyone having problems with maksed packages should read this FAQ _________________ Search | Read | Answer | Report | Strip |
|
Back to top |
|
|
Gentree Watchman
Joined: 01 Jul 2003 Posts: 5350 Location: France, Old Europe
|
Posted: Fri Aug 06, 2004 3:54 pm Post subject: |
|
|
Hi,
You should look at the bit where it says it is a DEPEND/*DEPEND problem.
Yeah, it means not a lot as an error msg but I think it is your pb.
I had a similar pb on another package a while back. Check out this thread for an explaination.
https://forums.gentoo.org/viewtopic.php?t=184989&highlight=depend+gentree
HTH _________________ Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86 |
|
Back to top |
|
|
Duck-Billed Platypus Guru
Joined: 30 Jun 2003 Posts: 576 Location: Los Angeles, California, United States of America
|
Posted: Thu Aug 12, 2004 4:20 pm Post subject: |
|
|
Sometimes I get this error when I unmask a hard-masked version of gcc. I checked the ebuild file, but all the dependencies I'm able to emerge...
I think you're supposed to add the = when you're specifying a specific version ie
Code: | emerge -p =sys-libs/pam-0.77 |
_________________ Dentists are evil. |
|
Back to top |
|
|
Duck-Billed Platypus Guru
Joined: 30 Jun 2003 Posts: 576 Location: Los Angeles, California, United States of America
|
Posted: Thu Aug 12, 2004 4:26 pm Post subject: |
|
|
What happens if you put net-www/epiphany into /etc/portage/package.mask?
Also, in the rare case that you use a hard-masked version of portage (2.0.51) you should use /etc/portage/package.provided instead of inject. _________________ Dentists are evil. |
|
Back to top |
|
|
OneOfMany Tux's lil' helper
Joined: 19 Nov 2003 Posts: 108 Location: Portland, OR USA
|
Posted: Thu Aug 19, 2004 11:39 pm Post subject: |
|
|
I'm having this problem too, but so far I haven't found a fix for this in the info provided. Running this...
Code: | emerge -s syslog-ng |
Gives me this...
Code: | Searching... \Traceback (most recent last call):
File "/usr/bin/emerge", line 2331, in ?
searchinstance.execute(mysearch)
File "/usr/bin/emerge", line 545, in execute
if not portage.portdb.xmatch("match-visible",package):
File "/usr/lib/portage/pym/portage.py", line 4710, in xmatch
myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep,mykey))
File "/usr/lib/portage/pym/portage.py", line 3537, in match_from_list
raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % mydep
KeyError: "Specific key requires an operator (sys-admin/syslog-ng-1.6.4) (try adding an '=')" |
I don't have any files in /etc/portage and I've looked in the folders listed above (/var/cache/edb and /var/lib/portage...this second one doesn't exist on my machine) but none have an entry without an '=' that I can fix. In /var/cache/edb/dep/ there seems to be a copy of some syslog-ng related stuff (has directories for a few different versions inside /var/cache/edb/dep/app-admin/) but I'm not sure if that's supposed to be there or not.
Thanks for your help. |
|
Back to top |
|
|
kallamej Administrator
Joined: 27 Jun 2003 Posts: 4975 Location: Gothenburg, Sweden
|
Posted: Sat Aug 21, 2004 10:46 am Post subject: |
|
|
OneOfMany wrote: |
KeyError: "Specific key requires an operator (sys-admin/syslog-ng-1.6.4) (try adding an '=')"[/code] |
Hmm, it borks on sys-admin/syslog-ng. The correct category is app-admin. Are the relevant entries in the world and virtuals files correct in this regard? Does some other file reference sys-admin/syslog-ng? _________________ Please read our FAQ Forum, it answers many of your questions.
irc: #gentoo-forums on irc.libera.chat |
|
Back to top |
|
|
tdphys n00b
Joined: 10 Oct 2003 Posts: 53 Location: Alberta
|
Posted: Fri Sep 03, 2004 3:06 pm Post subject: |
|
|
Okay.. had the same problem myself...
None of the things worked in the above thread... but I did find a
new file /etc/portage/package.keywords that seemed to be doing the same thing as package.mask in the same folder. Changing those entries
worked. |
|
Back to top |
|
|
kootenaykid n00b
Joined: 26 Sep 2004 Posts: 33 Location: Victoria, Canada
|
Posted: Sun Sep 26, 2004 5:41 am Post subject: |
|
|
Ok I get this same error, but none of these solutions seems to be related.
I'm trying to emerge a third party ebuild for kirateradio. I added a entry to package.keywors and digested the ebuild yet I still get this error.
Code: |
# emerge multimedia/kirateradio
Calculating dependencies
!!! Problem in multimedia/kirateradio dependencies.
!!! "Specific key requires an operator (null/kirateradio-0.1) (try adding an '=')"
|
This is my first forum post after installing and using gentoo(solely) for three weeks. A record for any of my linux installs. |
|
Back to top |
|
|
kootenaykid n00b
Joined: 26 Sep 2004 Posts: 33 Location: Victoria, Canada
|
Posted: Sun Sep 26, 2004 6:50 am Post subject: |
|
|
Now I feel stupid. It was simple. I need the '=' sign in my package.keywords file if I want to specify a version number. e.g.
Code: | =multimedia/kirateradio-0.1 ~amd64
|
|
|
Back to top |
|
|
chINeSe mIDgEts Apprentice
Joined: 02 Mar 2004 Posts: 209 Location: look behind you
|
Posted: Fri Oct 01, 2004 12:16 am Post subject: |
|
|
yes i get:
Code: |
# emerge -p sys-libs/pam-0.77
Traceback (most recent call last):
File "/usr/bin/emerge", line 14, in ?
import portage
File "/usr/lib/portage/pym/portage.py", line 6411, in ?
for y in db["/"]["porttree"].dbapi.xmatch("match-all", x):
File "/usr/lib/portage/pym/portage.py", line 4715, in xmatch
myval=match_from_list(mydep,self.cp_list(mykey))
File "/usr/lib/portage/pym/portage.py", line 3536, in match_from_list
raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (media-video/realone-1) (try adding an '=')"
|
this happens if i emerge anything: world, sync, ANYTHING. even if i use -p option. even if i add the =. i really am completely lost on this one. _________________ ...it must have been very demanding having to learn how to use Microsoft Office, right up there with other lofty challenges like learning how to zip your fly without getting your dick caught. |
|
Back to top |
|
|
kallamej Administrator
Joined: 27 Jun 2003 Posts: 4975 Location: Gothenburg, Sweden
|
Posted: Fri Oct 01, 2004 7:18 am Post subject: |
|
|
You have two problems there.
chINeSe mIDgEts wrote: | Code: |
# emerge -p sys-libs/pam-0.77 |
|
You need the '=' if you want to emerge a specific version.
chINeSe mIDgEts wrote: | Code: |
raise KeyError, "Specific key requires an operator (%s) (try adding an '=')" % (mydep)
KeyError: "Specific key requires an operator (media-video/realone-1) (try adding an '=')"
|
|
Search the above mentioned files for media-video/realone-1 and remove '-1' or add an '='. _________________ Please read our FAQ Forum, it answers many of your questions.
irc: #gentoo-forums on irc.libera.chat |
|
Back to top |
|
|
redled n00b
Joined: 06 Feb 2003 Posts: 8 Location: Russia
|
Posted: Sat Oct 16, 2004 7:36 am Post subject: |
|
|
Same problem here:
Code: | kwas@redled ~ % sudo emerge -u apache-1.3.31-r3
Calculating dependencies
!!! Problem in net-www/apache-1.3.31-r3 dependencies.
!!! "Specific key requires an operator (net-www/apache-1.3.31-r3) (try adding an '=')" exceptions
kwas@redled ~ % sudo emerge -u =apache-1.3.31-r3
zsh: apache-1.3.31-r3 not found
kwas@redled ~ % sudo emerge -u =net-www/apache-1.3.31-r3
zsh: net-www/apache-1.3.31-r3 not found
kwas@redled ~ % ls /usr/portage/net-www/apache
apache-1.3.29-r2.ebuild apache-2.0.50.ebuild files
apache-1.3.31.ebuild apache-2.0.51.ebuild Manifest
apache-1.3.31-r1.ebuild apache-2.0.51-r1.ebuild metadata.xml
apache-1.3.31-r2.ebuild apache-2.0.52.ebuild
apache-1.3.31-r3.ebuild ChangeLog
kwas@redled ~ %
|
Is there any solution? |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9501 Location: beyond the rim
|
Posted: Sat Oct 16, 2004 2:37 pm Post subject: |
|
|
maybe you have to quote the = in zsh ... |
|
Back to top |
|
|
redled n00b
Joined: 06 Feb 2003 Posts: 8 Location: Russia
|
Posted: Mon Oct 18, 2004 6:32 pm Post subject: |
|
|
Genone wrote: | maybe you have to quote the = in zsh ... |
It works, thanks!
But if the first error message concers quotes, it was rather confusing... |
|
Back to top |
|
|
kallamej Administrator
Joined: 27 Jun 2003 Posts: 4975 Location: Gothenburg, Sweden
|
Posted: Mon Oct 18, 2004 7:55 pm Post subject: |
|
|
redled wrote: | Genone wrote: | maybe you have to quote the = in zsh ... |
It works, thanks!
But if the first error message concers quotes, it was rather confusing... |
The first error message was about emerge requiring an operator such as '=' or '>' if you append a version number to the package you want to install. In contrast to bash, zsh then required that operator be quoted. _________________ Please read our FAQ Forum, it answers many of your questions.
irc: #gentoo-forums on irc.libera.chat |
|
Back to top |
|
|
redled n00b
Joined: 06 Feb 2003 Posts: 8 Location: Russia
|
Posted: Wed Oct 20, 2004 7:45 am Post subject: |
|
|
I'm understand. But will it be more informative, if it will write, say, 'try to put equals sign in quotes'? |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9501 Location: beyond the rim
|
Posted: Wed Oct 20, 2004 12:16 pm Post subject: |
|
|
Well, it depends on your shell and we can't really put solutions to all prossible problems in the error message. |
|
Back to top |
|
|
balinares n00b
Joined: 21 Dec 2002 Posts: 25
|
Posted: Thu Oct 21, 2004 11:09 pm Post subject: |
|
|
Genone wrote: | Well, it depends on your shell and we can't really put solutions to all prossible problems in the error message. |
You might, however, want to make the error message tell WHERE the problem is -- command line, some specific file, etc. It would make a WORLD of difference, really. Thanks. |
|
Back to top |
|
|
larand54 l33t
Joined: 20 Feb 2004 Posts: 695 Location: Sweden
|
Posted: Sun Dec 05, 2004 12:28 pm Post subject: |
|
|
Nothing here helped me...
This is what I get:
Code: |
bash-2.05b# emerge -avDu development-sources-2.6.10_rc3
These are the packages that I would merge, in order:
Calculating dependencies
!!! Problem in sys-kernel/development-sources-2.6.10_rc3 dependencies.
!!! "Specific key requires an operator (sys-kernel/development-sources-2.6.10_rc3) (try adding an '=')" exceptions
bash-2.05b# |
Where am I supposed to put that '=' ?
I have tried /etc/portage/package.keywords, .umask |
|
Back to top |
|
|
|