I know you won't like this bug :) This behaviour is kinda really weird... # emerge -NuDp world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] dev-libs/openssl-0.9.8n [0.9.8m-r1] [ebuild R ] sys-devel/binutils-2.20.51.0.6 # emerge --deselect =sys-devel/binutils-2.20.1 >>> Removing sys-devel/binutils:0 from "world" favorites file... # emerge -NuDp world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] dev-libs/openssl-0.9.8n [0.9.8m-r1] # emerge --noreplace =sys-devel/binutils-2.20.1 Calculating dependencies... done! >>> Recording sys-devel/binutils:0 in "world" favorites file... # emerge -NuDp world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] dev-libs/openssl-0.9.8n [0.9.8m-r1] [ebuild R ] sys-devel/binutils-2.20.51.0.6 # cat /var/db/pkg/sys-devel/binutils-2*/{SLOT,IUSE} 0 i686-pc-linux-gnu-2.20.51.0.6 nls multitarget multislot test vanilla nls multitarget multislot test vanilla
# emerge --info Portage 2.2_rc67 (default/linux/x86/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo-ck1 i686) ================================================================= System uname: Linux-2.6.33-gentoo-ck1-i686-AMD_Athlon-tm-_XP_2800+-with-gentoo-2.0.1 Timestamp of tree: Thu, 25 Mar 2010 01:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p2-r1 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.5, 3.1.2 dev-python/pycrypto: 2.1.0 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1, 2.20.51.0.6 sys-devel/gcc: 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical --binpkg-respect-use y --keep-going --with-bdeps y" FEATURES="assume-digests buildsyspkg ccache distlocks fakeroot fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms split-elog split-log strict unmerge-orphans userfetch userpriv usersandbox usersync" GENTOO_MIRRORS="http://gentoo.mirror.web4u.cz/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" INSTALL_MASK="/usr/share/gtk-doc" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,--hash-style=gnu" LINGUAS="cs en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--prune-empty-dirs --omit-dir-times" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/php-testing /var/lib/layman/php-experimental /var/lib/layman/sunrise /var/lib/layman/enlightenment /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X X509 a52 aac aalib acl acpi alsa amr ao bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cddb cdparanoia cdr cleartype cli cracklib crypt css cups curl cvs cxx dbus directfb djvu dri dts dv dvd dvdr encode exif faac faad fam fat fbcon ffmpeg firefox flac flash fontconfig ftp fuse gd gdbm ggi gif git gnome-keyring gnutls gpm gs gsm gstreamer gtk hal iconv icu id3tag idn ieee1394 imagemagick imap ipv6 irda jbig jpeg jpeg2k ladspa lame lcms libcaca libnotify libsamplerate lirc lm_sensors lock lua lzo mad maildir matroska mikmod mmx mmxext mng modules mp3 mp4 mpeg mudflap musepack musicbrainz ncurses network network-cron nfs nfsv3 nfsv4 nls nptl nptlonly nsplugin ntfs offensive ogg openal openexr opengl openmp pam pch pcre pdf perl pkcs11 plotutils png portaudio ppds pppd python quicktime raw readline reflection reiserfs rss schroedinger sdl session shorten skey sndfile sox speex spell spl sqlite sqlite3 sse ssl startup-notification subversion svg symlink sysfs system-sqlite taglib tcl tcpd theora thunar tiff tk truetype unicode usb v4l v4l2 vcd vorbis wavpack webkit win32codecs wmf wxwidgets x264 x86 xattr xcb xinerama xinetd xml xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="emu10k1 bt87x" 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="evdev joystick keyboard lirc mouse vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs en" LIRC_DEVICES="cph06x devinput" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia v4l vmware" Unset: CPPFLAGS, CTARGET, FFLAGS, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Created attachment 225179 [details] emerge -NuDp --debug --backtrack=0 world &> log
Ah, well... # cat /var/db/pkg/sys-devel/binutils-2*/USE elibc_glibc kernel_linux nls userland_GNU x86 elibc_glibc kernel_linux multislot nls userland_GNU x86 that kinda explains it, but - it tries to re-emerge the wrong slot :) [ebuild R ] sys-devel/binutils-2.20.1 USE="multislot* -multitarget nls -test -vanilla" 0 kB [ebuild R ] sys-devel/binutils-2.20.51.0.6 USE="multislot -multitarget nls -test -vanilla" 0 kB (emerge -e @world appears to have ignored the binutils:0 slot causing all this confusion in the first place).
What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in there is probably triggering --newuse. Also, add -v to your emerge -p options so we can see exactly what USE will be enabled in the new build.
(In reply to comment #4) > What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in > there is probably triggering --newuse. Also, add -v to your emerge -p options > so we can see exactly what USE will be enabled in the new build. That's posted above in Comment #3. Basically, it's IUSE=multislot fault here as usual *g* - the below makes it much more clear: # emerge -pv =sys-devel/binutils-{2.20.1,2.20.51.0.6} These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-devel/binutils-2.20.1 USE="multislot* -multitarget nls -test -vanilla" 0 kB [ebuild R ] sys-devel/binutils-2.20.51.0.6 USE="multislot -multitarget nls -test -vanilla" 0 kB Total: 2 packages (2 reinstalls), Size of downloads: 0 kB !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: sys-devel/binutils:0 ('ebuild', '/', 'sys-devel/binutils-2.20.1', 'merge') pulled in by =sys-devel/binutils-2.20.1 ('ebuild', '/', 'sys-devel/binutils-2.20.51.0.6', 'merge') pulled in by =sys-devel/binutils-2.20.51.0.6 Guess this one's a CANTFIX really.
(In reply to comment #4) > What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in > there is probably triggering --newuse. Also, add -v to your emerge -p options > so we can see exactly what USE will be enabled in the new build. Nevermind, I didn't see comment #3. Unfortunately there's nothing we can do to fix this now because there's no way to select SLOT with multislot ebuilds. However, maybe we could add an EAPI extension that would allow us to select the SLOT.
Well, digging more into this, I'd say there's still some sort of portage bug b/c the below makes no sense me, even despite the multislot hack implied troubles. # cat /var/db/pkg/sys-devel/binutils-2*/{IUSE,USE,SLOT} nls multitarget multislot test vanilla nls multitarget multislot test vanilla elibc_glibc kernel_linux multislot nls userland_GNU x86 elibc_glibc kernel_linux multislot nls userland_GNU x86 i686-pc-linux-gnu-2.20.1 i686-pc-linux-gnu-2.20.51.0.6 # emerge -NuDpv world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-devel/binutils-2.20.51.0.6 USE="multislot -multitarget nls -test -vanilla" 0 kB Now, it makes no different whether the lower or higher version or both are in world or not, I always get the above. With identical USE and IUSE, where's it pulling the "changed" flags from?
Created attachment 225231 [details] emerge --ignore-default-opts --debug --backtrack=0 -upv world &> log Well, it's even more weird... it's not even --newuse now. I don't know what's it trying to do, honestly. Don't recall anything similar w/ 2.1
Ah... So, probably figured out :) # grep binutils /var/lib/portage/world sys-devel/binutils:0 sys-devel/binutils:i686-pc-linux-gnu-2.20.1 # emerge --deselect sys-devel/binutils:0 >>> Removing sys-devel/binutils:0 from "world" favorites file... # emerge --deselect sys-devel/binutils:i686-pc-linux-gnu-2.20.1 >>> Removing sys-devel/binutils:i686-pc-linux-gnu-2.20.1 from "world" favorites file... # emerge -uDpv world These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB # emerge --noreplace =sys-devel/binutils-2.20.1; emerge -uDpv world Calculating dependencies... done! >>> Recording sys-devel/binutils:i686-pc-linux-gnu-2.20.1 in "world" favorites file... >>> Auto-cleaning packages... >>> No outdated packages were found on your system. These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB Yay, back to semi-sane state! *g* I guess this is back to PMS folks :)
it's called "implement Bug 174407 finally". constantly poking teams (like toolchain) isnt going to make this happen, nor are the ebuilds/eclasses going to change. like ive always said, USE=multislot fills a very real gap and it isnt going away.
To make this clear - this bug wasn't filed to get rid of USE=multislot (which indeed is useful), not to piss anyone off. ;) Resolving as duplicate and thanks. *** This bug has been marked as a duplicate of bug 174407 ***
I didn't know that the "Use-dynamic SLOTS" thing would fit the USE=multislot case, since SLOT values like "i686-pc-linux-gnu-2.20.1" would require CHOST expansion, which would seem beyond the scope of simple "Use-dynamic SLOTS". Shrug, we'll figure it all out eventually.