Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 145408

Summary: corrupt metadata causes 'masked by missing keyword'
Product: Portage Development Reporter: Lars Bröcker <Lars.Broecker>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED CANTFIX    
Severity: normal    
Priority: High    
Version: 2.1   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: output of emerge -puDd world

Description Lars Bröcker 2006-08-28 14:31:18 UTC
I am trying to do an emerge -puD world. This happens:

Calculating world dependencies -
!!! All ebuilds that could satisfy "x11-proto/xf86driproto" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-proto/xf86driproto-2.0.3 (masked by: missing keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by "media-libs/mesa-6.4.2-r2" [ebuild])

Here is the problem:
My system is an x86, even emerge --info believes that:
emerge --info
Portage 2.1-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.14-gentoo-r2 i686)
=================================================================
System uname: 2.6.14-gentoo-r2 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
USE="x86 X aac alsa apache2 apm arts avi berkdb bitmap-fonts cdr cli crypt cups dlloader doc dri dvd dvdr eds emboss encode esd examples firefox foomaticdb fortran gdbm gif gpm gstreamer gtk gtk2 imlib ipv6 isdnlog java jpeg kde libg++ libwww mad mikmod motif mp3 mpeg ncurses nls no-seamonkey nptl nsplugin ogg opengl oss pam pcre pdf pdflib perl png pppd python qt qt3 qt4 quicktime readline reflection ruby scenarios sdl session spell spl ssl svg tcpd tetex tiff truetype truetype-fonts type1-fonts udev vorbis wmf xine xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_de userland_GNU video_cards_radeon video_cards_vga video_cards_vesa video_cards_fbdev"

x86 is added to USE by portage, it is not in my make.conf

The ebuild for xf86driproto-2.0.3 is marked stable, as it contains this line
KEYWORDS="alpha amd64 arm ia64 mips ppc ppc64 ~s390 sh sparc x86 ~x86-fbsd"

Furthermore it is already installed on my system, as well as mesa-6.4.2-r2

syncing does not remove that problem. What to do?
Comment 1 Zac Medico gentoo-dev 2006-08-28 14:58:23 UTC
Please attach emerge ouput for the same command with --debug enabled.
Comment 2 Zac Medico gentoo-dev 2006-08-28 15:04:15 UTC
Also, please post the output of the following command:

portageq metadata / ebuild x11-proto/xf86driproto-2.0.3 KEYWORDS
Comment 3 Lars Bröcker 2006-08-28 15:17:09 UTC
Created attachment 95330 [details]
output of emerge -puDd world
Comment 4 Lars Bröcker 2006-08-28 15:18:50 UTC
belsazar tmp # portageq metadata / ebuild x11-proto/xf86driproto-2.0.3 KEYWORDS

belsazar tmp #

No output from this command
Comment 5 Zac Medico gentoo-dev 2006-08-28 17:30:27 UTC
Apparently something has gone wrong with your cache.  Do you have anything in /etc/portage/modules?  Maybe this will fix it:

rm -rf /var/cache/edb/dep
emerge --metadata

If that doesn't help then please post the output of this command:

cat $(portageq portdir)/metadata/cache/x11-proto/xf86driproto-2.0.3
Comment 6 Lars Bröcker 2006-08-29 07:14:56 UTC
Hmm, I don't even have a directory /etc/portage/modules

The two commands sadly did not help, output from emerge -puD world stays the same.

Here is the output of the last command

belsazar / # cat $(portageq portdir)/metadata/cache/x11-proto/xf86driproto-2.0.3
0>&#65533;&#65533;Y%tDWrsD%t&#648;'=>D&#65533;=>3'L&#65533;DYTDL&#65533;0Gbx''DAJC'EDc''D&#65533;&#65533;'3D'B&#9618;Bm'&#65533;&#65533;DQD&#65533;tk`Z'&#65533;&#65533;DQD&#65533;rk`&#65533;j      B[Bj    wIC'
                                                                                                    j   B[Bj    vICH'&#9618;&#65533;DmDbelsazar / #  

That does not look that good to me. What was it supposed to look like?
Comment 7 Zac Medico gentoo-dev 2006-08-29 10:57:20 UTC
The metadata in your portage tree is somehow corrupt.  I'm not sure what caused that you should probably run fsck on the filesystem.  Assuming that the filesystem is reliable, emerge --sync should fix it.
Comment 8 Lars Bröcker 2006-09-06 04:36:47 UTC
Well, i ran fsck on the filesystem yesterday. No errors reported, so i think it is okay. But emerge --sync did not remove the problem. Thanks for your time and attention, though. Do you per chance have any other ideas?
Comment 9 Zac Medico gentoo-dev 2006-09-06 09:01:54 UTC
(In reply to comment #8)
> emerge --sync did not remove the problem. Thanks for your time and

Is the content of metadata/cache/x11-proto/xf86driproto-2.0.3 still the same?  Maybe it has the same mtime and files size as the correct file.  In that case, rsync won't transfer it automatically.  You can remove the file and then rsync should download the correct version.  You may want to remove your entire portage tree in order to make sure that all corrupt files have been purged.
Comment 10 Lars Bröcker 2006-09-08 03:23:58 UTC
I deleted metadata/cache/x11-proto/xf86driproto-2.0.3 and it seems to have worked. Other files seem to have been corrupted, too. How do I remove the complete tree for resyncing? Is deleting everything beneath metadata/cache sufficient?
Comment 11 Zac Medico gentoo-dev 2006-09-08 10:17:30 UTC
Remove everthying except the packages/ and distfiles/ directories (if you have binary packages and source files stored there and you want to keep them).
Comment 12 Lars Bröcker 2006-09-09 02:53:27 UTC
I followed your advice, got another of those strange cache problems, did on top of that 

rm -rf /var/cache/edb/dep
emerge --metadata

and now it seems to work again. Thank you very much for your help! I think this bug can be closed

Regards,
Lars
Comment 13 Zac Medico gentoo-dev 2006-11-20 08:05:07 UTC
I guess this was just some random corruption.