Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239272 - portage.exception.InvalidAtom: !build
Summary: portage.exception.InvalidAtom: !build
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
Keywords: InVCS
Depends on:
Blocks: 210077
  Show dependency tree
Reported: 2008-10-01 19:59 UTC by Anders Rune Jensen
Modified: 2008-10-09 21:48 UTC (History)
0 users

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

handle the InvalidAtom exception (invalid_atom.patch,1019 bytes, patch)
2008-10-01 21:27 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Anders Rune Jensen 2008-10-01 19:59:19 UTC
Upgraded portage to 2.0_rc11 and now emerge is broken:

emerge portage -pv

These are the packages that would be merged, in order:

Calculating dependencies -Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "/usr/lib64/portage/pym/_emerge/", line 13879, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/", line 12789, in action_build
    retval, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib64/portage/pym/_emerge/", line 5126, in select_files
  File "/usr/lib64/portage/pym/_emerge/", line 6044, in altlist
  File "/usr/lib64/portage/pym/_emerge/", line 6077, in _resolve_conflicts
    if not self.validate_blockers():
  File "/usr/lib64/portage/pym/_emerge/", line 5883, in validate_blockers
    blocker = Blocker(atom=portage.dep.Atom(myatom),
  File "/usr/lib64/portage/pym/portage/", line 470, in __call__
    instance = super(_AtomCache, cls).__call__(s)
  File "/usr/lib64/portage/pym/portage/", line 506, in __init__
    raise InvalidAtom(s)
portage.exception.InvalidAtom: !build

Happens with any package.

Reproducible: Always

gcc-config -l:

[1] x86_64-pc-linux-gnu-3.4.2
[2] x86_64-pc-linux-gnu-3.4.2-hardened
[3] x86_64-pc-linux-gnu-3.4.2-hardenednossp
[4] x86_64-pc-linux-gnu-3.4.5
[5] x86_64-pc-linux-gnu-3.4.5-hardened
[6] x86_64-pc-linux-gnu-3.4.5-hardenednopie
[7] x86_64-pc-linux-gnu-3.4.5-hardenednopiessp
[8] x86_64-pc-linux-gnu-3.4.5-hardenednossp
[9] x86_64-pc-linux-gnu-4.1.1 *

emerge --info:

Portage 2.2_rc11 (default/linux/amd64/2008.0, gcc-4.1.1, glibc-2.7-r1, 2.6.23-gentoo-r6 x86_64)
System uname: Linux-2.6.23-gentoo-r6-x86_64-AMD_Athlon-tm-_Dual_Core_Processor_4850e-with-glibc2.2.5
Timestamp of tree: Sat, 27 Sep 2008 02:08:01 +0000
app-shells/bash: 3.2_p39
dev-java/java-config: 1.3.0-r2, 2.0.26-r4
dev-lang/python: 2.4.4-r4, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc: 0.2.5
sys-devel/autoconf: 2.13, 2.62-r1
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.23-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-march=k8 -O2 -pipe"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/gentoo-release /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
FEATURES="cvs distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="X aac acl acpi alsa amd64 avahi bash-completion berkdb bitmap-fonts bzip2 cdr cli cracklib cups dbus dri dts dvd dvdr emacs evo exif ffmpeg firefox flac foomaticdb fortran gdbm gif glitz gnome hal iconv ipv6 isdnlog jack joystick jpeg lesstif lirc mad matroska midi mmx mono moznomail mozsvg mp3 mudflap multilib musepack ncurses nls nntp nptl nptlonly ogg oggvorbis openmp oss pam pcre pdf perl ppds pppd python readline reflection sdl session spl sse sse2 ssl svg sysfs tcpd theora tiff truetype truetype-fonts type1-fonts unicode vorbis xine xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="nv nvidia"

My /etc/portage is empty.
Comment 1 Zac Medico gentoo-dev 2008-10-01 21:27:56 UTC
Created attachment 166943 [details, diff]
handle the InvalidAtom exception

If this patch is saved as /tmp/invalid_atom.patch, then it can be applied as follows:

patch /usr/lib/portage/pym/_emerge/ /tmp/invalid_atom.patch
Comment 2 Anders Rune Jensen 2008-10-02 18:33:21 UTC
Thanks. It now doesn't crash, but a emerge -upD world gives:

!!! Invalid or corrupt dependency specification: 

Invalid Atom: !build

('installed', '/', 'sys-devel/gcc-3.4.2-r2', 'nomerge')

virtual/libc >=sys-devel/gcc-config-1.3.1 >=sys-libs/zlib-1.1.4 !sys-devel/hardened-gcc !uclibc? ( >=sys-libs/glibc-2.3.3_pre20040420-r1 hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) ) amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) ) !build? ( gcj? ( gtk? ( >=x11-libs/gtk+-2.2 ) >=media-libs/libart_lgpl-2.1 ) >=sys-libs/ncurses-5.2-r2 nls? ( sys-devel/gettext ) ) >=sys-apps/texinfo-4.2-r4 >=sys-devel/bison-1.875 >=sys-devel/binutils- amd64? ( >=sys-devel/binutils- ) !bootstrap? ( sys-devel/patch ) !bootstrap? ( sys-devel/patch ) !bootstrap? ( sys-devel/patch ) sys-devel/gnuconfig !bootstrap? ( sys-devel/patch ) virtual/libc >=sys-devel/gcc-config-1.3.1 >=sys-libs/zlib-1.1.4 !sys-devel/hardened-gcc !uclibc? ( >=sys-libs/glibc-2.3.3_pre20040420-r1 hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) ) amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) ) !build? ( gcj? ( gtk? ( >=x11-libs/gtk+-2.2 ) >=media-libs/libart_lgpl-2.1 ) >=sys-libs/ncurses-5.2-r2 nls? ( sys-devel/gettext ) ) sys-devel/gcc-config !nocxx? ( !n32? ( !n64? ( !uclibc? ( !build ( sys-libs/libstdc++-v3 ) ) ) ) )

Portage is unable to process the dependencies of the
'sys-devel/gcc-3.4.2-r2' package. In order to correct this problem, the
package should be uninstalled, reinstalled, or upgraded. As a temporary
workaround, the --nodeps option can be used to ignore all dependencies.
For reference, the problematic dependencies can be found in the *DEPEND
files located in '/var/db/pkg/sys-devel/gcc-3.4.2-r2/'.

Thought you might find that interesting.
Comment 3 Zac Medico gentoo-dev 2008-10-02 18:59:26 UTC
Somewhere in /var/db/pkg/sys-devel/gcc-3.4.2-r2/*DEPEND you've got "!build" which is supposed to be "!build?". These commands should correct it:

sed 's:!build :!build? :g' -i /var/db/pkg/sys-devel/gcc-3.4.2-r2/*DEPEND
touch /var/db/pkg/sys-devel/gcc-3.4.2-r2
rm /var/cache/edb/vdb_blockers.pickle
Comment 4 Zac Medico gentoo-dev 2008-10-09 21:48:34 UTC
This is fixed in 2.2_rc12.