Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 442910 - app-emulation/emul-linux-x86-baselibs-20120520 file collision with udev-171-r8 and x32 ABI
Summary: app-emulation/emul-linux-x86-baselibs-20120520 file collision with udev-171-r...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: x32
  Show dependency tree
 
Reported: 2012-11-12 19:03 UTC by Jim Faulkner
Modified: 2012-11-25 07:19 UTC (History)
4 users (show)

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


Attachments
requested emul-linux-x86-baselibs build.log (build.log,3.84 KB, text/plain)
2012-11-13 02:46 UTC, Jim Faulkner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Faulkner 2012-11-12 19:03:39 UTC
On my brand new x32 virtual machine, I'm unable to emerge grub, because files from app-emulation/emul-linux-x86-baselibs-20120520 conflict with files from sys-fs/udev-171-r8.

Calculating dependencies  ... done!

>>> Verifying ebuild manifests

>>> Starting parallel fetch

>>> Emerging (1 of 2) app-emulation/emul-linux-x86-baselibs-20120520
 * emul-linux-x86-baselibs-20120520.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...      [ ok ]
>>> Unpacking source...
>>> Unpacking emul-linux-x86-baselibs-20120520.tar.xz to /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/work
>>> Source unpacked in /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/work
>>> Preparing source in /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-emulation/emul-linux-x86-baselibs-20120520

>>> Install emul-linux-x86-baselibs-20120520 into /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/image/ category a
pp-emulation
 * Moving lib32/ to lib/; some libs might not work
>>> Completed installing emul-linux-x86-baselibs-20120520 into /var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/imag
e/

 * QA Notice: Missing soname symlink(s):
 * 
 *      usr/lib/libgnuintl.so.8 -> preloadable_libintl.so
 * 

>>> Installing (1 of 2) app-emulation/emul-linux-x86-baselibs-20120520
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 * 
 * package app-emulation/emul-linux-x86-baselibs-20120520 NOT merged
 * 
 * Detected file collision(s):
 * 
 *      /usr/lib/systemd/system/udev-control.socket
 *      /usr/lib/systemd/system/udev-kernel.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-control.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-kernel.socket
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * sys-fs/udev-171-r8:0::gentoo
 *      /usr/lib/systemd/system/sockets.target.wants/udev-control.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-kernel.socket
 *      /usr/lib/systemd/system/udev-control.socket
 *      /usr/lib/systemd/system/udev-kernel.socket
 * 
 * Package 'app-emulation/emul-linux-x86-baselibs-20120520' NOT merged
 * due to file collisions. If necessary, refer to your elog messages for
 * the whole content of the above message.

>>> Failed to install app-emulation/emul-linux-x86-baselibs-20120520, Log file:

>>>  '/var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/temp/build.log'
 * Messages for package app-emulation/emul-linux-x86-baselibs-20120520:
 * Moving lib32/ to lib/; some libs might not work
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 * 
 * package app-emulation/emul-linux-x86-baselibs-20120520 NOT merged
 * 
 * Detected file collision(s):
 * 
 *      /usr/lib/systemd/system/udev-control.socket
 *      /usr/lib/systemd/system/udev-kernel.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-control.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-kernel.socket
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * sys-fs/udev-171-r8:0::gentoo
 *      /usr/lib/systemd/system/sockets.target.wants/udev-control.socket
 *      /usr/lib/systemd/system/sockets.target.wants/udev-kernel.socket
 *      /usr/lib/systemd/system/udev-control.socket
 *      /usr/lib/systemd/system/udev-kernel.socket
 * 
 * Package 'app-emulation/emul-linux-x86-baselibs-20120520' NOT merged
 * due to file collisions. If necessary, refer to your elog messages for
 * the whole content of the above message.



 * GNU info directory index is up-to-date.

Reproducible: Always




Portage 2.1.11.31 (default/linux/amd64/10.0/x32, gcc-4.7.1, glibc-2.16.0, 3.5.7-gentoo x86_64)
=================================================================
System uname: Linux-3.5.7-gentoo-x86_64-QEMU_Virtual_CPU_version_1.1.2-with-gentoo-2.1
Timestamp of tree: Mon, 12 Nov 2012 15:00:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          3.2.3
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r2 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnux32"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnux32"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-march=core2 -O2 -fomit-frame-pointer -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=core2 -O2 -fomit-frame-pointer -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5 -l 4.0"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://jove.eng.yale.edu/gentoo-portage"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl openmp pam pcre pppd readline session sse sse2 ssl tcpd unicode 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="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="dummy fbdev modesetting radeon vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-11-12 22:47:38 UTC
Please provide the full build log as an attachment.

/var/tmp/portage/app-emulation/emul-linux-x86-baselibs-20120520/temp/build.log
Comment 2 Jim Faulkner 2012-11-13 02:46:57 UTC
Created attachment 329426 [details]
requested emul-linux-x86-baselibs build.log
Comment 3 Jim Faulkner 2012-11-13 02:51:42 UTC
I've added the build log, but it doesn't appear to provide much more information.  

One thing that may be useful: I got past this bug by manually deleting the 4 conflicting files before emerging emul-linux-x86-baselibs.  In order to reproduce the bug after that, I did the following:  unmerge app-emulation/emul-linux-x86-baselibs.  Make sure the 4 conflicting files have been deleted.  Re-emerge udev.  Now when you try to emerge emul-linux-x86-baselibs you should see the bug.
Comment 4 Pacho Ramos gentoo-dev 2012-11-13 20:08:07 UTC
This is due changes incorporated in bug #429726 and you using x32... but no idea about how to handle this (if you really need emul packages on that arch), will CC vapier :/
Comment 5 SpanKY gentoo-dev 2012-11-13 20:15:27 UTC
(In reply to comment #4)

i think the emul package is broken.  it shouldn't be shipping systemd files like that.  those only make sense with the native ABI.
Comment 6 Pacho Ramos gentoo-dev 2012-11-13 20:36:05 UTC
They are shipping it simply because they ship everything in /usr/lib from original packages... maybe this is an exception, will CC udev maintainers
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2012-11-14 06:53:30 UTC
(In reply to comment #6)
> They are shipping it simply because they ship everything in /usr/lib from
> original packages... maybe this is an exception, will CC udev maintainers

not an exception, /usr/lib/<package> is valid alternative to the "deprecated" /usr/libexec/ or /usr/libexec/<package>
this path is hardcoded in apps like udev, udisks, upower, and other Fedora maintained apps as they don't support the path called /usr/libexec anymore

problem is with emul packages installing files they shouldn't be installing
Comment 8 Pacho Ramos gentoo-dev 2012-11-14 07:12:08 UTC
Looks like eclass got confused because of "socket" and it looking for .so* at src_prepare:
find "${S}" ! -type d ! -name '*.so*' | egrep -v "${ALLOWED}" | xargs -d $'\n' rm -f || die 'failed to remove everything but *.so*'
Comment 9 Pacho Ramos gentoo-dev 2012-11-24 09:15:16 UTC
(In reply to comment #8)
> Looks like eclass got confused because of "socket" and it looking for .so*
> at src_prepare:
> find "${S}" ! -type d ! -name '*.so*' | egrep -v "${ALLOWED}" | xargs -d
> $'\n' rm -f || die 'failed to remove everything but *.so*'

Do you know how to fix that snipped to not catch "socket" case? I am tempted to manually remove it before... but if it can be done in a cleaner way... 

Thanks a lot
Comment 10 SpanKY gentoo-dev 2012-11-25 05:40:55 UTC
(In reply to comment #9)

you could use two names:
 '(' -name '*.so' -o -name '*.so.[0-9]*' ')'

or a regex:
 -regextype posix-extended -regex '^.*[.]so([.][0-9].*)?$'
Comment 11 Pacho Ramos gentoo-dev 2012-11-25 07:19:56 UTC
+  25 Nov 2012; Pacho Ramos <pacho@gentoo.org> emul-linux-x86.eclass:
+  Really install only libs, not everything included in .so* (#442910 by SpanKY,
+  Samuli Suominen and Jim Faulkner).
+