Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 195375 - collision between binutils-2.18 and binutils-2.18-r1
Summary: collision between binutils-2.18 and binutils-2.18-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
: 195367 (view as bug list)
Depends on:
Blocks: 194041
  Show dependency tree
 
Reported: 2007-10-10 12:43 UTC by Darren Dale
Modified: 2008-10-18 15:23 UTC (History)
3 users (show)

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


Attachments
read inforoot/SLOT and use it in case it differs from the expected slot (multislot.patch,1.03 KB, patch)
2007-10-18 19:52 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Darren Dale 2007-10-10 12:43:49 UTC
I have been unable to emerge binutils-2.18-r1, due to file collisions:

* checking 141 files for package collisions
* This package is blocked because it wants to overwrite
* files belonging to other packages (see list below).
* If you have no clue what this is all about report it
* as a bug for this package on http://bugs.gentoo.org

package sys-devel/binutils-2.18-r1 NOT merged

Detected file collision(s):

     '/etc/env.d/binutils/x86_64-pc-linux-gnu-2.18'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/gprof'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/ld'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/as'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/size'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/objdump'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/ar'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/strings'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/ranlib'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/objcopy'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/addr2line'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/readelf'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/nm'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/strip'
     '/usr/x86_64-pc-linux-gnu/binutils-bin/2.18/c++filt'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libbfd-2.18.so'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libbfd.la'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libbfd.a'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libopcodes-2.18.so'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libopcodes.la'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libopcodes.a'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libiberty.a'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info/bfd.info'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info/as.info'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info/gprof.info'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info/ld.info'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info/binutils.info'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/bfd.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/ansidecl.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/symcat.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/bfdlink.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/dis-asm.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/include/libiberty.h'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.x'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xbn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xd'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xdc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xdw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xr'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xs'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xsc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xsw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xu'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_i386.xw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.x'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xbn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xd'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xdc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xdw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xr'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xs'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xsc'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xsw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xu'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/elf_x86_64.xw'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/i386linux.x'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/i386linux.xbn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/i386linux.xn'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/i386linux.xr'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/ldscripts/i386linux.xu'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/ld.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/addr2line.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/ar.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/nlmconv.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/nm.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/objcopy.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/objdump.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/ranlib.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/size.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/strings.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/strip.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/windres.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/windmc.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/as.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/gprof.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/dlltool.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/readelf.1.bz2'
     '/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man/man1/c++filt.1.bz2'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libbfd.so'
     '/usr/lib64/binutils/x86_64-pc-linux-gnu/2.18/libopcodes.so'


I recently used binutils-config to switch from 2.18.50.0.1, which is not keyworded for amd64 anymore, to 2.18. Maybe it has something to do with the problem I am seeing?

Here is my emerge --info:

Portage 2.1.3.12 (default-linux/amd64/2007.0/desktop, gcc-4.2.0, glibc-2.6.1-r0, 2.6.22-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.22-gentoo-r8 x86_64 Dual Core AMD Opteron(tm) Processor 275
Timestamp of tree: Wed, 10 Oct 2007 12:00:01 +0000
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.5.1-r2
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18, 2.18.50.0.1
sys-devel/gcc-config: 1.4.0-r3
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LINGUAS="en en_US"
MAKEOPTS="-j5"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aac acl acpi alsa amd64 apache2 arts atlas avahi bash-completion berkdb bitmap-fonts blas bookmarks branding bzip2 cairo cblas cdr cli cracklib crypt ctype cups dbus doc dri dvd dvdr dvdread eds emacs emboss encode epydoc esd evo examples f77 fam fftw firefox foomativdb fortran gdbm gif gimpprint gpm gstreamer gtk hal iconv imagemagick imap isdnlog ivman java jpeg jpeg2k kde kerberos lapack latex ldap mad mdnsresponder-compat midi mikmod mime mmap mmx mozbranding mozilla mozsvg mp3 mpeg mplayer mudflap multislot ncurses nptl nptlonly nsplugin ogg opengl openmp oss pam pcre pdf perl pic png ppds pppd python qt3 qt3support qt4 quicktime readline reflection rss samba sdl session spell spl sse sse2 ssl subversion svg symlink tcltk tcpd tetex threads tiff tk truetype truetype-fonts type1-fonts umfpack unicode usb vorbis webdav winbind wxwindows xcomposite xfs xinerama xml xorg xv zeroconf 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia vga nv"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Reproducible: Always
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-10-10 16:28:06 UTC
*** Bug 195367 has been marked as a duplicate of this bug. ***
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-10-10 16:33:36 UTC
No, it has everything to do w/ USE=multislot.
Comment 3 SpanKY gentoo-dev 2007-10-10 18:03:31 UTC
uhh, no ... PVR implies we slot down to the revision when we dont

what does `cat /var/db/pkg/sys-devel/binutils-2.18/SLOT` say ?
Comment 4 Darren Dale 2007-10-10 18:20:35 UTC
> what does `cat /var/db/pkg/sys-devel/binutils-2.18/SLOT` say ?

x86_64-pc-linux-gnu-2.18

Comment 5 SpanKY gentoo-dev 2007-10-10 19:49:56 UTC
hmm, and what about:
grep SLOT= /var/tmp/portage/sys-devel/binutils-2.18-r1/temp/environment
Comment 6 Darren Dale 2007-10-10 20:53:37 UTC
(In reply to comment #5)
> hmm, and what about:
> grep SLOT= /var/tmp/portage/sys-devel/binutils-2.18-r1/temp/environment

SLOT=x86_64-pc-linux-gnu-2.18
declare -x SLOT="x86_64-pc-linux-gnu-2.18"

Comment 7 SpanKY gentoo-dev 2007-10-10 21:02:54 UTC
portage: since SLOT is evaluating to the same value ("x86_64-pc-linux-gnu-2.18"), why is a collision being detected ?
Comment 8 Zac Medico gentoo-dev 2007-10-10 22:02:10 UTC
The problem is that is just assumes that the SLOT generated when running the normal depend phase is the same SLOT at merge time.  It's a perfectly valid assumption given the SLOT is supposed to be static metadata.

Instead of using this USE=multislot hack, is there some reason why the ebuild doesn't just define SLOT="${PV}" ? That would be valid within the context of static SLOTs, since you'd have the same SLOT that was generated during the normal depend phase.

Dynamic slotting of some sort (be it via SLOT or some other means) is an extension that can by supported, but first we have to define how it works so that we can include it as part of a future EAPI revision (bug 174407).
Comment 9 SpanKY gentoo-dev 2007-10-10 22:06:42 UTC
the only reason the default isnt $PV is due to historically it's been SLOT=0 and there's no way to transition from 0 to $PV

well, when first implemented, there was no "slot move" in package updates, so i guess if we listed every version of binutils out there, it would be possible ... but that still wouldnt allow CTARGET ...
Comment 10 Zac Medico gentoo-dev 2007-10-18 19:52:00 UTC
Created attachment 133808 [details, diff]
read inforoot/SLOT and use it in case it differs from the expected slot
Comment 11 Zac Medico gentoo-dev 2007-10-18 22:24:15 UTC
This has been released in 2.1.3.15.