When I recently did an update of my system with binary packages, it trashed my gentoo by removing the NEW packages when it autocleaned itself... $ emerge -Upvk world >>> --upgradeonly implies --update... adding --update to options. These are the packages that I would merge, in order: Calculating world dependencies ...done! [binary U ] media-libs/alsa-lib-0.9.8 [0.9.7] [binary U ] media-libs/libsdl-1.2.6-r2 [1.2.6-r1] +oss +alsa +esd +arts +nas +X +dga +xv +xinerama +fbcon +directfb +ggi +svga +aalib +opengl -noaudio -novideo -nojoystick [binary U ] net-im/gaim-0.71-r2 [0.70-r2] +nls +perl +spell +nas +ssl [binary N ] media-fonts/artwiz-fonts-2.4 [binary U ] x11-wm/icewm-1.2.13 [1.2.9] +esd +gnome +imlib +nls +spell +truetype [binary U ] net-www/links-2.1_pre11 [2.1_pre9] +ssl +javascript +png +X +gpm +tiff +fbcon +svga +jpeg [binary U ] media-video/ffmpeg-0.4.7 [0.4.7_pre20030624] +mmx +encode +oggvorbis +doc +faad +dvd -static +sdl +imlib +truetype [binary N ] dev-libs/boehm-gc-6.2 [binary U ] media-libs/gdk-pixbuf-0.22.0-r2 [0.22.0] +doc +mmx [binary U ] net-www/w3m-0.4.2 [0.4.1-r3] +gpm -cjk +gtk +imlib -xface +ssl [binary U ] media-libs/libmpeg3-1.5.2 [1.5-r1] [binary U ] net-misc/netkit-tftp-0.17-r2 [0.17-r1] [binary U ] x11-libs/fltk-1.1.4 [1.1.2-r2] +opengl -debug -nptl [binary N ] dev-util/yacc-1.9.1-r1 [binary U ] net-www/apache-2.0.48 [2.0.47] +berkdb +gdbm -ldap [binary U ] net-misc/dhcpcd-1.3.22_p4-r2 [1.3.22_p4-r1] -build -static [binary U ] dev-lang/python-2.2.3-r5 [2.2.3-r1] +ncurses +gdbm +readline +tcltk +berkdb -build +doc +ssl [binary U ] sys-libs/lib-compat-1.3 [1.2] [binary U ] app-portage/gentoolkit-0.1.34 [0.1.33] [binary U ] app-misc/screen-3.9.15-r1 [3.9.15] +pam $ emerge -Uvk world >>> --upgradeonly implies --update... adding --update to options. Calculating world dependencies ...done! >>> emerge (1 of 20) media-libs/alsa-lib-0.9.8 to / >>> extracting info >>> extracting alsa-lib-0.9.8 >>> Merging media-libs/alsa-lib-0.9.8 to / ... >>> Regenerating /etc/ld.so.cache... * Caching service dependencies... [ ok ] >>> media-libs/alsa-lib-0.9.8 merged. media-libs/alsa-lib selected: 0.9.8 protected: 0.9.7 omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging media-libs/alsa-lib-0.9.8... No package files given... Grabbing a set. /usr/sbin/ebuild.sh: line 1196: /var/tmp/portage-pkg/alsa-lib-0.9.8/inf/ alsa-lib-0.9.8.ebuild: No such file or directory !!! ERROR: alsa-lib-0.9.8/alsa-lib-0.9.8 failed. !!! Function , Line 1196, Exitcode 1 !!! error sourcing ebuild <<< obj /usr/share/doc/alsa-lib-0.9.8/TODO.gz <<< obj /usr/share/doc/alsa-lib-0.9.8/ChangeLog.gz <<< obj /usr/share/doc/alsa-lib-0.9.8/COPYING.gz <<< obj /usr/share/alsa/sndo-mixer.alisp <<< obj /usr/share/alsa/pcm/surround51.conf <<< obj /usr/share/alsa/pcm/surround50.conf <<< obj /usr/share/alsa/pcm/surround41.conf <<< obj /usr/share/alsa/pcm/surround40.conf <<< obj /usr/share/alsa/pcm/rear.conf <<< obj /usr/share/alsa/pcm/iec958.conf <<< obj /usr/share/alsa/pcm/front.conf <<< obj /usr/share/alsa/pcm/center_lfe.conf <<< obj /usr/share/alsa/cards/aliases.conf <<< obj /usr/share/alsa/cards/aliases.alisp <<< obj /usr/share/alsa/cards/YMF744.conf <<< obj /usr/share/alsa/cards/VXPocket440.conf <<< obj /usr/share/alsa/cards/VXPocket.conf <<< obj /usr/share/alsa/cards/VX222.conf <<< obj /usr/share/alsa/cards/VIA8233A.conf <<< obj /usr/share/alsa/cards/VIA8233.conf <<< obj /usr/share/alsa/cards/TRID4DWAVENX.conf <<< obj /usr/share/alsa/cards/SI7018/sndop-mixer.alisp <<< obj /usr/share/alsa/cards/SI7018/sndoc-mixer.alisp <<< obj /usr/share/alsa/cards/SI7018.conf <<< obj /usr/share/alsa/cards/RME9652.conf <<< obj /usr/share/alsa/cards/RME9636.conf <<< obj /usr/share/alsa/cards/NFORCE.conf <<< obj /usr/share/alsa/cards/ICH.conf <<< obj /usr/share/alsa/cards/ICE1724.conf <<< obj /usr/share/alsa/cards/ICE1712.conf <<< obj /usr/share/alsa/cards/GUS.conf <<< obj /usr/share/alsa/cards/FM801.conf <<< obj /usr/share/alsa/cards/ENS1371.conf <<< obj /usr/share/alsa/cards/ENS1370.conf <<< obj /usr/share/alsa/cards/EMU10K1.conf <<< obj /usr/share/alsa/cards/CS46xx.conf <<< obj /usr/share/alsa/cards/CMI8738-MC6.conf <<< obj /usr/share/alsa/cards/CMI8338.conf <<< obj /usr/share/alsa/cards/Audigy2.conf <<< obj /usr/share/alsa/cards/Audigy.conf <<< obj /usr/share/alsa/alsa.conf <<< obj /usr/share/aclocal/alsa.m4 <<< obj /usr/lib/pkgconfig/alsa.pc <<< obj /usr/lib/libasound.so.2.0.0 <<< obj /usr/lib/libasound.la <<< obj /usr/include/sys/asoundlib.h <<< obj /usr/include/alsa/version.h <<< obj /usr/include/alsa/timer.h <<< obj /usr/include/alsa/sound/ainstr_simple.h <<< obj /usr/include/alsa/sound/ainstr_iw.h <<< obj /usr/include/alsa/sound/ainstr_gf1.h <<< obj /usr/include/alsa/sound/ainstr_fm.h <<< obj /usr/include/alsa/seqmid.h <<< obj /usr/include/alsa/seq_midi_event.h <<< obj /usr/include/alsa/seq_event.h <<< obj /usr/include/alsa/seq.h <<< obj /usr/include/alsa/rawmidi.h <<< obj /usr/include/alsa/pcm_plugin.h <<< obj /usr/include/alsa/pcm_ordinary.h <<< obj /usr/include/alsa/pcm.h <<< obj /usr/include/alsa/output.h <<< obj /usr/include/alsa/mixer_ordinary.h <<< obj /usr/include/alsa/mixer.h <<< obj /usr/include/alsa/instr.h <<< obj /usr/include/alsa/input.h <<< obj /usr/include/alsa/iatomic.h <<< obj /usr/include/alsa/hwdep.h <<< obj /usr/include/alsa/global.h <<< obj /usr/include/alsa/error.h <<< obj /usr/include/alsa/conv.h <<< obj /usr/include/alsa/control.h <<< obj /usr/include/alsa/conf.h <<< obj /usr/include/alsa/asoundlib.h <<< obj /usr/include/alsa/asoundef.h <<< obj /usr/include/alsa/alisp.h <<< obj /usr/bin/aserver <<< obj /usr/bin/alsalisp <<< sym /usr/lib/libasound.so.2 <<< sym /usr/lib/libasound.so.1 <<< sym /usr/lib/libasound.so <<< dir /usr/share/doc/alsa-lib-0.9.8 <<< dir /usr/share/alsa/pcm <<< dir /usr/share/alsa/cards/SI7018 <<< dir /usr/share/alsa/cards <<< dir /usr/include/alsa/sound <<< dir /usr/include/alsa --- !empty dir /usr/share/doc --- !empty dir /usr/share/alsa --- !empty dir /usr/share/aclocal --- !empty dir /usr/share --- !empty dir /usr/lib/pkgconfig --- !empty dir /usr/lib --- !empty dir /usr/include/sys --- !empty dir /usr/include --- !empty dir /usr/bin --- !empty dir /usr /usr/sbin/ebuild.sh: line 1196: /var/tmp/portage-pkg/alsa-lib-0.9.8/inf/ alsa-lib-0.9.8.ebuild: No such file or directory !!! ERROR: alsa-lib-0.9.8/alsa-lib-0.9.8 failed. !!! Function , Line 1196, Exitcode 1 !!! error sourcing ebuild This happened on all the other packages as well which essentially results in the package being uninstalled. Notice python's in there, so now python's gone... this is gonna be a mess to clean up... Reproducible: Always Steps to Reproduce: 1. 2. 3. $ emerge info -bash: /usr/bin/emerge: /usr/bin/python: bad interpreter: No such file or directory ;p $ ls -ld /var/db/pkg/sys-apps/portage* drwxr-xr-x 2 root root 584 Oct 29 02:47 /var/db/pkg/sys-apps/ portage-2.0.49-r15 p
I went to / and just 'tar -xjf /path/to/python-package.tar.bz2' to get a working python... Here's my emerge info: $ emerge info Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22-ck2) ================================================================= System uname: 2.4.22-ck2 i686 Pentium II (Deschutes) Gentoo Base System version 1.4.3.10p1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium2 -mcpu=pentium2 -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-jumps=4 -falign-loops=4" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium2 -mcpu=pentium2 -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-jumps=4 -falign-loops=4" DISTDIR="/usr/local/download/portage/distfiles" FEATURES="ccache autoaddcvs sandbox userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/local/download/portage/packages-pentium2" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/download/portage" SYNC="rsync://192.168.0.1/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb slang readline arts tetex aalib nas bonobo svga ggi tcltk java guile mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla gphoto2 cdr scanner acl acpi amd apache2 atlas bindist clisp curl dga dnd doc dv dvb dvd emacs ethereal evo faad fbcon flash gb gd gd-external gnomedb gnutls gps gstreamer gtk2 icc imagemagick imap innodb ipv6 javascript jikes joystick junit justify kerberos lcms ldam leim libgda lirc mbox md5sum mmx mng mozaccess mozcalendar mozctl mozinterfaceinfo mozp3p mozsvg mozxmlterm mpi mule objc odbc offensive openal parse-clocks pda php pic plotutils pnp ppds qhull rplay ruby samba sasl slp snmp socks5 sox sqlite tiff trusted type1 usb v4l wmf wxwindows Xaw3d xinerama xml xvid" Additionally, a workaround is to just unmerge the package before 'emerge -k'ing it... obviously this won't work with packages neccessary for portage like python or portage... I've verified that it is not a problem with -U, -v, or world because the problem shows itself with simply 'emerge -k libsdl'. Additionally, pressing ctr-c to stop the unmerge (and I assume simply disabling the autoclean) isn't that great of a workaround because doing 'emerge clean' after the update will still cause the newer package to be deleted: >>> Regenerating /etc/ld.so.cache... * Caching service dependencies... [ ok ] >>> media-libs/libsdl-1.2.6-r2 merged. media-libs/libsdl selected: 1.2.6-r2 protected: 1.2.6-r1 omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 (15:25:42 Tue Nov 04 2003 root@predator) / $ emerge clean media-libs/libsdl selected: 1.2.6-r2 protected: 1.2.6-r1 omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4
Are you sure it only happens with -k (so `emerge libsdl` is working correct) ?
I apologize. You are right. It is happening with just 'emerge gentoolkit'. I assumed that since it worked on the other system with similar specs, it was working here... my apologies for that... And it's not just with 'autoclean'. It's happening with 'emerge clean' after / $ emerge gentoolkit Calculating dependencies ...done! >>> emerge (1 of 1) app-portage/gentoolkit-0.1.34 to / ... >>> app-portage/gentoolkit-0.1.34 merged. app-portage/gentoolkit selected: 0.1.34 protected: 0.1.33 omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. --- Now this is odd... I figured I'd just unmerge the packages manually, but the new version of gentoolkit is shown in the 'emerge clean' but not the 'emerge unmerge ...' $ emerge clean media-libs/libsdl selected: 1.2.6-r2 protected: 1.2.6-r1 omitted: none app-portage/gentoolkit selected: 0.1.34 protected: 0.1.33 omitted: none ... / $ emerge unmerge \=app-portage/gentoolkit-0.1.33 \=media-libs/libsdl-1.2.6-r1 app-portage/gentoolkit selected: 0.1.33 protected: none omitted: none media-libs/libsdl selected: 1.2.6-r1 protected: none omitted: 1.2.6-r2
/usr/lib/portage/bin/fix-db.py seems to have done the trick. Thanks.