Solved

Gentoo Emerge error "Specific key requires an operator"

Posted on 2004-04-20
11
10,357 Views
Last Modified: 2007-12-19
I have installed Gentoo 64bit on a Sun 420r.
When I try to emerge some programs I get the following output:

#emerge rtg -pv      

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

Calculating dependencies  
!!! all ebuilds that could satisfy "rtg" have been masked.
!!! possible candidates are:
- net-analyzer/rtg-0.7.4 (masked by: missing keyword)

!!! Error calculating dependencies. Please correct.
...
# emerge net-analyzer/rtg-0.7.4 -pv

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

Calculating dependencies  
!!! Problem in net-analyzer/rtg-0.7.4 dependencies.
!!! "Specific key requires an operator (net-analyzer/rtg-0.7.4) (try adding an '=')"


This happens on other programs as well, not just RTG.
Can someone explain to me what this means and how to correct it?
I don't really know a lot about Gentoo, so dumb it down a few notches for me, k?

TIA!
0
Comment
Question by:cdukes
  • 6
  • 5
11 Comments
 
LVL 1

Expert Comment

by:fyerk
ID: 10869960
The "masked by: missing keyword" indicates that you need the ACCEPT_KEYWORDS environment variable. The 'specific key require[d]' indicates that you should prefix the package name with a '=' sign.

Try this:
> ACCEPT_KEYWORDS="~sparc"  emerge -pv  '=net-analyer/rtg-0.7.4'

And of course remove the 'p' flag when you're ready to install.

For more info on ACCEPT_KEYWORDS see the relevant part of /etc/make.conf under Advanced Masking. Also 'man emerge' contains some useful information on both KEYWORDS and operators.
0
 

Author Comment

by:cdukes
ID: 10870110
Thanks for this :-)
When I try it, I get:
# ACCEPT_KEYWORDS="~sparc"  emerge -pv  '=net-analyer/rtg-0.7.4'

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

Calculating dependencies  
emerge: there are no masked or unmasked ebuilds to satisfy "=net-analyer/rtg-0.7.4".

!!! Error calculating dependencies. Please correct.


Any Ideas?
0
 
LVL 1

Expert Comment

by:fyerk
ID: 10870156
Try emerging the ebuild file directly

emerge -pv /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

Author Comment

by:cdukes
ID: 10870182
Well...I thought that was gonna work, but:

# emerge -pv /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild

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

Calculating dependencies ...done!
[ebuild  N    ] net-analyzer/rtg-0.7.4   693 kB

Total size of downloads: 693 kB

[root@noc conf]# emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild      
Calculating dependencies ...done!
>>> emerge (1 of 1) net-analyzer/rtg-0.7.4 to /
>>> Downloading http://mirror.datapipe.net/gentoo/distfiles/rtg-0.7.4.tar.gz
--11:14:00--  http://mirror.datapipe.net/gentoo/distfiles/rtg-0.7.4.tar.gz
           => `/usr/portage/distfiles/rtg-0.7.4.tar.gz'
Resolving mirror.datapipe.net... 64.27.65.115
Connecting to mirror.datapipe.net[64.27.65.115]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 710,621 [application/x-gzip]

100%[======================================================================================>] 710,621       46.28K/s    ETA 00:00

11:14:13 (53.85 KB/s) - `/usr/portage/distfiles/rtg-0.7.4.tar.gz' saved [710621/710621]


!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: c61ff1323701e2771bb5ff9cf67f1b77
>>>  your file's digest: 810c584caa6b944ff1752ce21f16a13e
!!! File does not exist: /usr/portage/distfiles//rtg-0.7.4.tar.gz


Now What?
P.S. Thanks for your help on this!
0
 
LVL 1

Expert Comment

by:fyerk
ID: 10870267
A) Remove the existing distfile
    > rm /usr/portage/distfiles/rtg*

B) Reinstall
    > emerge -pv /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild

C) If you get the same error, remove the distfile and change your gentoo mirror:
    > rm /usr/portage/distfiles/rtg*
    > GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/" emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild
0
 

Author Comment

by:cdukes
ID: 10870398
No dice :-(

 rm /usr/portage/distfiles/rtg*
# GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/" emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild
Calculating dependencies ...done!
>>> emerge (1 of 1) net-analyzer/rtg-0.7.4 to /
>>> Downloading ftp://gentoo.mirrors.pair.com/distfiles/rtg-0.7.4.tar.gz
--11:27:29--  ftp://gentoo.mirrors.pair.com/distfiles/rtg-0.7.4.tar.gz
           => `/usr/portage/distfiles/rtg-0.7.4.tar.gz'
Resolving gentoo.mirrors.pair.com... 216.92.2.140
Connecting to gentoo.mirrors.pair.com[216.92.2.140]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD /distfiles ... done.
==> PASV ... done.    ==> RETR rtg-0.7.4.tar.gz ... done.
Length: 710,621 (unauthoritative)

100%[======================================================================================>] 710,621        9.31K/s    ETA 00:00

11:28:30 (11.57 KB/s) - `/usr/portage/distfiles/rtg-0.7.4.tar.gz' saved [710621]


!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: c61ff1323701e2771bb5ff9cf67f1b77
>>>  your file's digest: 810c584caa6b944ff1752ce21f16a13e
!!! File does not exist: /usr/portage/distfiles//rtg-0.7.4.tar.gz



You're gonna tell me I'm screwed now huh?
Man I hope not, this was one of the the main reasons I had this server built (it will be used to monitor a datacenter).



0
 
LVL 1

Accepted Solution

by:
fyerk earned 125 total points
ID: 10870513
Remove the distfile:
    >  rm /usr/portage/distfiles/rtg*

Fetch the file first:
    > emerge -f /usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz

It might fail on one mirror and pick it up from sourceforge.

If you see this:
>>> rtg-0.7.4.tar.gz MD5 ;-)
>>> md5 src_uri ;-) rtg-0.7.4.tar.gz

You should be able to install it:
    > emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz
0
 
LVL 1

Expert Comment

by:fyerk
ID: 10870525
Oops, replace "tar.gz" in those pathnames with "ebuild"
0
 

Author Comment

by:cdukes
ID: 10870651
Ok, I found one with a good MD5...

Downloading http://twtelecom.dl.sourceforge.net/sourceforge/rtg/rtg-0.7.4.tar.gz
--12:08:01--  http://twtelecom.dl.sourceforge.net/sourceforge/rtg/rtg-0.7.4.tar.gz
           => `/usr/portage/distfiles/rtg-0.7.4.tar.gz'
Resolving twtelecom.dl.sourceforge.net... 207.250.4.12
Connecting to twtelecom.dl.sourceforge.net[207.250.4.12]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 710,621 [application/x-gzip]

100%[======================================================================================>] 710,621       37.82K/s    ETA 00:00

12:08:17 (43.00 KB/s) - `/usr/portage/distfiles/rtg-0.7.4.tar.gz' saved [710621/710621]

>>> rtg-0.7.4.tar.gz MD5 ;-)
>>> md5 src_uri ;-) rtg-0.7.4.tar.gz


But, I still get:

#emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz
Calculating dependencies  
emerge: there are no masked or unmasked ebuilds to satisfy "/usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz".

!!! Error calculating dependencies. Please correct.
# ACCEPT_KEYWORDS="~sparc" emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz
Calculating dependencies  
emerge: there are no masked or unmasked ebuilds to satisfy "/usr/portage/net-analyzer/rtg/rtg-0.7.4.tar.gz".

!!! Error calculating dependencies. Please correct.
#


Next Step?
0
 

Author Comment

by:cdukes
ID: 10870675
I got it! -- forgot to change the .gz ;-)


#emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild    
Calculating dependencies ...done!
>>> emerge (1 of 1) net-analyzer/rtg-0.7.4 to /
>>> md5 src_uri ;-) rtg-0.7.4.tar.gz
>>> Unpacking source...


Thank you, thank you and thank you!
0
 
LVL 1

Expert Comment

by:fyerk
ID: 10870688
Replace "tar.gz" with ebuild
    > ACCEPT_KEYWORDS="~sparc" emerge /usr/portage/net-analyzer/rtg/rtg-0.7.4.ebuild
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Network Interface Card (NIC) bonding, also known as link aggregation, NIC teaming and trunking, is an important concept to understand and implement in any environment where high availability is of concern. Using this feature, a server administrator …
Using 'screen' for session sharing, The Simple Edition Step 1: user starts session with command: screen Step 2: other user (logged in with same user account) connects with command: screen -x Done. Both users are connected to the same CLI sessio…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question