After emerging gcc-3.3.6, "emerge -Dup world" reports the following: # emerge -Dup world These are the packages that I would merge, in order: Calculating world dependencies ...done! [ebuild UD] sys-devel/gcc-3.3.5.20050130-r1 [3.3.6] # If I remove the "-p", emerge will bounce between gcc-3.3.5.20050130-r1 and gcc-3.3.6. I observed similar behavior recently with "media-plugins/gst-plugins", bouncing between two different versions. However, "sys-devel/gcc" touches the system on a much deeper level. Reproducible: Always Steps to Reproduce: 1. "emerge -Du world" 2. "gcc --version" 3. repeat step 1 4. repeat step 2 Actual Results: Upgrade from step 1 is undone in step 3. Expected Results: "emerge -Du world" should not roll back versions of a program without any changes in USE flags and ebuilds. # emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r1, 2.6.12-gentoo-r10 i686) ================================================================= System uname: 2.6.12-gentoo-r10 i686 AMD Athlon(tm) XP 2400+ Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mcpu=athlon-xp -march=athlon-xp -msse -mmmx -m3dnow -mfpmath=sse -fomit-frame-pointer -I/usr/X11R6/include" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=athlon-xp -march=athlon-xp -msse -mmmx -m3dnow -mfpmath=sse -fomit-frame-pointer -I/usr/X11R6/include" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distcc distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.chem.wisc.edu/gentoo/" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X Xaw3d a52 aalib acl acpi aim alsa apache2 apm arts audiofile avi bash-completion bcmath berkdb bidi bindist bitmap-fonts bonobo bzlib caps cdparanoia cdr cjk crypt cscope ctype cups curl dbm dbx directfb dvd dvdread eds emboss encode esd ethereal examples exif expat fam fastcgi fbcon ffmpeg flac foomatic foomaticdb fortran ftp gcj gd gdbm gif glut gmp gnome gnustep gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal iconv imagemagick imap imlib ipv6 java javascript joystick jpeg junit kde lesstif libcaca libg++ libwww lirc lm_sensors mad mikmod mime mmap mmx mng motif mozilla mozsvg mp3 mpeg mysql ncurses nls nptl nvidia objc odbc ogg oggvorbis opengl oss pam pdflib perl php pic png posix ppds python qt quicktime readline sasl sdl sharedmem slang slp sndfile snmp sockets sox spell sse ssl streamzap svg svga symlink sysfs sysvipc tcltk tcpd tetex theora threads tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode usb vcd vorbis wmf wxwindows xine xinerama xml xml2 xmlrpc xmms xosd xpm xprint xrandr xsl xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Hmm... emerge -puDd world > junc more junk ... oh! libffi-3.3.5 requires gcc-3.3.5 Looks like libffi needs to be 3.3.6.
Created attachment 69050 [details] log from emerge when downgrading gcc I have the same problem. I attache a log from emerge when it downgrades gcc. I had to compress it else it got to big. I will attache a log when it uppgrades gcc also. The file is created with: emerge -dvuD world | tee old_ggc.log
Created attachment 69051 [details] emerge log when upgrading gcc
How much longer do we need to wait for a fix? It's been over a month now.
ah muffin, a whole month !
I had the same phenomen when I tried to migrate to gcc-3.4 like explained on gentoo.org using "the safe method". After "emerge -e system" gcc-config had switched to gcc-3.3.x again.
*** Bug 105282 has been marked as a duplicate of this bug. ***
With gcc 3.4.4, it is even worse. Doing emerge libffi gives the following results: Firstly, gcc 3.3.x. (I can't remember the version exactly) is emerged. But gcc 3.3 sees that gcc 3.4 is already installed, and does not change the profile. Then libffi is emerged, but since the profile is still using gcc 3.4, it won't compile. If you need to use gcc 3.3.x to compile libffi, apart from making libffi depend on gcc 3.3.x, 3.3.x should be used to compile libffi; and the profile should be left as it was before.
libffi-3.4.* needs to be stabled as gcc 3.4 is stable too. As long as for x86 libffi-3.3.5 is the latest stable one, it will try to pull in gcc 3.3* x86 team: please keyword ~x86 dev-libs/libffi-3.4.3 (prepare stabling it) and stable 3.4.1-r1
At least I can help here a bit more... 1) emerges fine so far, but a) mv: cannot move `/var/tmp/portage/libffi-3.4.1-r1/image///usr/lib/libffi' to a subdirectory of itself, `/var/tmp/portage/libffi-3.4.1-r1/image///usr/lib/libffi/libffi' mv: cannot stat `/var/tmp/portage/libffi-3.4.1-r1/image///usr/lib64/*': No such file or directory b) QA Notice: the following files contain executable stacks Files with executable stacks will not work properly (or at all!) on some architectures/operating systems. A bug should be filed at http://bugs.gentoo.org/ to make sure the file is fixed. For more information, see http://hardened.gentoo.org/gnu-stack.xml Please include this file in your report: /var/tmp/portage/libffi-3.4.1-r1/temp/scanelf-execstack.log "RWX --- --- usr/lib/libffi/libffi.so.3.0.0" I have no hope anyone wants to have the log.. 2) passes collision test 3) dev-java/sablevm 1.1.0 emerges fine on it (I won't touch GNUstep again).. Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686) ================================================================= System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.6.15 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="-O2" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/" LANG="de_DE@euro" LC_ALL="de_DE@euro" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.informatik.rwth-aachen.de/gentoo-portage" USE="x86 3dnow 3dnowext X Xaw3d a52 alsa arts artworkextra asf audiofile avi bash-completion beagle berkdb bidi bitmap-fonts bootsplash branding bzip2 cairo cdda cddb cdparanoia cdr cli cracklib crypt css cups curl custom-cflags dbus dga directfb divx4linux dlloader dri dts dvd dvdr dvdread dvi eds emacs emboss encode esd evo exif expat fam fat fbcon fdftk ffmpeg firefox foomaticdb fortran ftp gb gcj gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal icq idn imagemagick imap imlib ipv6 isdnlog java javascript jikes jpeg jpeg2k ldap leim libg++ libwww lm_sensors mad maildir matroska mbox mikmod mime mmx mmxext mng mono motif mp3 mpeg mpeg2 mule nautilus ncurses nforce2 nls nocardbus nptl nptlonly nsplugin nvidia objc ogg opengl pam pcre pdf pdflib perl plotutils pmu png ppds pppd preview-latex print python qt qt3 qt4 quicktime readline reflection reiserfs samba sdk session slang spell spl sse ssl svg svga t1lib tcltk tcpd theora thunderbird tiff truetype truetype-fonts type1-fonts udev usb vcd videos vorbis win32codecs wmf wxwindows xine xml xorg xosd xv xvid zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_de userland_GNU video_cards_radeon video_cards_vesa video_cards_fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
3.4.1-r1 keyworded ~x86, I'm building 3.4.3 now (slow box).
Marked 3.4.1-r1 stable. Those erroneous mv commands Christian mentions in comment #10 look like voodoo for 64bit systems, and they don't seem to affect functionality on x86.
gcc dangling should be gone now.