Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 255775

Summary: sys-apps/file needs rebuild after upgrading from <sys-libs/glibc-2.8 to >=sys-libs/glibc-2.8
Product: Portage Development Reporter: Kyle Robson <kyledr>
Component: UnclassifiedAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: abdulkadiryaman, ade05fr, base-system, daddysmurf, jer, loki_val, mattz0rpwnz
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
URL: https://bugzilla.redhat.com/show_bug.cgi?id=439168
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build log for acl

Description Kyle Robson 2009-01-21 18:57:38 UTC
I'm updating python and am trying to emerge file-4.26, but the file /usr/share/man.ecompress.dir is already owned by texinfo-4.13 according to portageq.

Reproducible: Always

Steps to Reproduce:
1. emerge file-4.26
2. emerge texinfo-4.13
3.

Actual Results:  
>>> Failed to install sys-apps/file-4.26, Log file:

>>>  '/var/tmp/portage/sys-apps/file-4.26/temp/build.log'

 * Messages for package sys-apps/file-4.26:

 * 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.
 * 
 * Detected file collision(s):
 * 
 *      /usr/share/man.ecompress.dir
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * sys-apps/texinfo-4.13
 *      /usr/share/man.ecompress.dir
 * 
 * Package 'sys-apps/file-4.26' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.


Expected Results:  
Successful emerge

Portage 2.1.6.7 (default/linux/x86/2008.0/desktop, gcc-4.1.1, glibc-2.9_p20081201-r1, 2.6.25-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r1-i686-Intel-R-_Pentium-R-_M_processor_2.00GHz-with-glibc2.0
Timestamp of tree: Tue, 20 Jan 2009 03:15:01 +0000
app-shells/bash:     3.2_p48
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.2
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
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="/usr/local/portage/layman/armagetron"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X acl acpi aim alsa avi berkdb bitmap-fonts bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus divx divx4linux dri dvd dvdr dvdread eds emacs emboss encode esd evo fam firefox fortran gdbm gif gpm gstreamer hal iconv ipv6 isdnlog java jpeg ldap libnotify mad matroska midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg oggvorbis opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification svg sysfs tcpd tiff truetype truetype-fonts type1-fonts unicode usb videos vorbis win32codecs x86 xml xorg xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" 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="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Marijn Schouten (RETIRED) gentoo-dev 2009-01-21 19:07:26 UTC
I have
sys-apps/file 4.26(22:46:47 23-09-08)(python) and
sys-apps/texinf 4.13(21:31:08 22-10-08)(nls -static)
installed with no collision.

Did you use different use flags?
Comment 2 Kyle Robson 2009-01-21 19:26:00 UTC
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
ACCEPT_KEYWORDS="~x86"
USE="X acpi aim alsa avi cdr crypt divx4linux win32codecs xvid divx dvd \
     dvdr emacs gif -gtk -gtk2 -qt -kde -gnome firefox jpeg mpeg \
     ncurses ogg vorbis oggvorbis matroska opengl png ssl \
     tiff truetype unicode usb videos java bitmap-fonts \
     truetype-fonts type1-fonts dbus hal pdf"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
ALSA_CARDS="hda-intel"
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="radeon"
source /usr/local/portage/layman/make.conf

Also, I tried ignoring the collision and now I have this when emerging another package:

>>> Failed to install dev-libs/newt-0.52.8, Log file:

>>>  '/var/tmp/portage/dev-libs/newt-0.52.8/temp/build.log'

 * Messages for package dev-python/dnspython-1.6.0:

 * Documentation is sparse at the moment. Use pydoc,
 * or read the HTML documentation at the dnspython's home page.

 * Messages for package dev-libs/newt-0.52.8:

 * 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 dev-libs/newt-0.52.8 NOT merged
 * 
 * Detected file collision(s):
 * 
 *      /usr/share/man.ecompress.dir
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * sys-apps/file-4.26
 *      /usr/share/man.ecompress.dir
 * 
 * sys-apps/texinfo-4.13
 *      /usr/share/man.ecompress.dir
 * 
 * Package 'dev-libs/newt-0.52.8' 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.
vix ~ # portageq owners / /usr/share/man.ecompress.dir
sys-apps/texinfo-4.13
        /usr/share/man.ecompress.dir
sys-apps/file-4.26
        /usr/share/man.ecompress.dir
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-21 20:06:31 UTC
Looks like a problem (fixed) in sys-apps/portage-2.1.6.7?
Comment 4 Zac Medico gentoo-dev 2009-01-21 20:23:10 UTC
This is the same issue reported in bug #242354 but we don't know exactly what causes it. The ecompressdir program is supposed to remove the *.ecompress.dir files, and it works flawlessly for most people.
Comment 5 Kyle Robson 2009-01-21 20:27:27 UTC
I got a workaround.  Add COLLISION_IGNORE="/usr/share/man.ecompress.dir" to /etc/make.conf
Comment 6 Zac Medico gentoo-dev 2009-01-21 20:29:39 UTC
Please attache /var/tmp/portage/sys-apps/file-4.26/temp/build.log since it might contain some clue.
Comment 7 Kyle Robson 2009-01-21 20:32:40 UTC
It no longer exists because of the workaround.
Comment 8 Zac Medico gentoo-dev 2009-01-21 21:02:41 UTC
If you set PORT_LOGDIR="/var/log/portage" in /etc/make.conf and rebuild the package, then it will save the log for you in there.
Comment 9 Kyle Robson 2009-01-21 21:34:59 UTC
Created attachment 179201 [details]
build log for acl

This failed because of collision:

* Detected file collision(s):
 * 
 *      /usr/share/man.ecompress.dir
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * dev-lang/python-2.5.4
 *      /usr/share/man.ecompress.dir
 * 
 * sys-apps/portage-2.2_rc23
 *      /usr/share/man.ecompress.dir
 * 
 * dev-util/scons-1.2.0
 *      /usr/share/man.ecompress.dir
 * 
 * app-portage/layman-1.2.3
 *      /usr/share/man.ecompress.dir
 * 
 * dev-libs/newt-0.52.8
 *      /usr/share/man.ecompress.dir
 * 
 * sys-apps/texinfo-4.13
 *      /usr/share/man.ecompress.dir
 * 
 * dev-python/eyeD3-0.6.16
 *      /usr/share/man.ecompress.dir
 * 
 * sys-apps/file-4.26
 *      /usr/share/man.ecompress.dir
 * 
 * dev-python/twisted-8.2.0
 *      /usr/share/man.ecompress.dir
 * 
 * sys-libs/timezone-data-2009a
 *      /usr/share/man.ecompress.dir
 * 
 * sys-apps/attr-2.4.43
 *      /usr/share/man.ecompress.dir
 * 
 * Package 'sys-apps/acl-2.2.47' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.
Comment 10 Zac Medico gentoo-dev 2009-01-21 22:05:22 UTC
It must be related to the error messages that look like this:
xargs: xargs.c:450: main: Assertion `bc_ctl.arg_max <= (131072-2048)' failed

Maybe if you rebuild sys-apps/findutils then that will fix it.
Comment 11 Zac Medico gentoo-dev 2009-01-21 22:31:35 UTC
*** Bug 242354 has been marked as a duplicate of this bug. ***
Comment 12 Kyle Robson 2009-01-22 04:16:24 UTC
I updated it. I haven't had it crash yet, but I accidentally left COLLISION_IGNORE in make.conf. It was actually still crashing every once in a while with that, partially because I didn't include all possible *.ecompress.doc and partially for some other reason. I'll let you know if I have any more problems.
Comment 13 Fabian Groffen gentoo-dev 2009-01-22 08:26:52 UTC
FYI: I masked the latest findutils in Prefix, because for me on at least Solaris it crashes for a long find run with an assertion.
Comment 14 Zac Medico gentoo-dev 2009-01-23 17:52:32 UTC
(In reply to comment #9)
> Created an attachment (id=179201) [edit]
> build log for acl

Adding base-system since the problem seems to be related to the xargs 'bc_ctl.arg_max' assertion messages shown in the log. Do you have version 4.5.3 of findutils installed?
Comment 15 Kyle Robson 2009-01-24 00:05:03 UTC
Yes, I installed findutils 4.5.3 as suggested, and I haven't had problems since.
Comment 16 SpanKY gentoo-dev 2009-02-14 02:45:20 UTC
so findutils-4.5.2 has problems while findutils-4.5.3 does not.  sounds fixed to me.
Comment 17 Abdulkadir Yaman 2009-04-14 13:41:57 UTC
I have findutils-4.5.4 installed but still same issue. I have to manually remove /usr/share/man.ecompress.dir every time it claims about collision.

 emerge -s findutils
Searching...   
[ Results for search key : findutils ]
[ Applications found : 1 ]
 
*  sys-apps/findutils
      Latest version available: 4.5.4
      Latest version installed: 4.5.4
      Size of files: 2,217 kB
      Homepage:      http://www.gnu.org/software/findutils/
      Description:   GNU utilities for finding files
      License:       GPL-2


(In reply to comment #16)
> so findutils-4.5.2 has problems while findutils-4.5.3 does not.  sounds fixed
> to me.
> 

Comment 18 Abdulkadir Yaman 2009-04-14 13:46:44 UTC
Sorry, filename is not /usr/share/man.ecompress.dir but /usr/share/info.ecompress.dir. And this issue happens while i was trying to "emerge -Du world" after a fresh installation from minimal gentoo CD. As a workaround adding COLLISION_IGNORE="/usr/share/info.ecompress.dir" to
/etc/make.conf works.


(In reply to comment #17)
> I have findutils-4.5.4 installed but still same issue. I have to manually
> remove /usr/share/man.ecompress.dir every time it claims about collision.
> 
>  emerge -s findutils
> Searching...   
> [ Results for search key : findutils ]
> [ Applications found : 1 ]
> 
> *  sys-apps/findutils
>       Latest version available: 4.5.4
>       Latest version installed: 4.5.4
>       Size of files: 2,217 kB
>       Homepage:      http://www.gnu.org/software/findutils/
>       Description:   GNU utilities for finding files
>       License:       GPL-2
> 
> 
> (In reply to comment #16)
> > so findutils-4.5.2 has problems while findutils-4.5.3 does not.  sounds fixed
> > to me.
> > 
> 

Comment 19 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-26 12:24:21 UTC
This is redhat bz 439168 (URL Field). It happens when you upgrade GLIBC but do not rebuild findutils. Rebuilding findutils should fix it IOW.

From the URL:

------- Comment #5 From Jakub Jelinek 2008-03-27 10:47:12 EDT -------
Current glibc is 2.7.90-12, not -9.
Anyway, the bug is in xargs, the assert is bogus.  With the 2.6.23+ kernels
sysconf (_SC_ARG_MAX) can return large value than ARG_MAX macro.  While
bc_get_arg_max handles that correctly, xargs.c instead of asserting say
assert(bc_ctl.arg_max <= bc_ctl.posix_arg_size_max);
or (more expensive):
assert(bc_ctl.arg_max <= bc_get_arg_max() - 2048);
asserts:
assert(bc_ctl.arg_max <= (ARG_MAX-2048));
which of course fails if sysconf (_SC_ARG_MAX) > ARG_MAX.  

------- Comment #7 From Jakub Jelinek 2008-03-27 12:34:21 EDT -------

Next rawhide glibc will #undef ARG_MAX, which is more POSIXly correct and for
findutils just a rebuild will be needed (though the assert is still a bad idea,
otherwise whenever some OS changes from a fixed arg size limit to a dynamic one
xargs will need rebuild), though it can break other programs which use ARG_MAX
incorrectly (google codesearch e.g. showed arla, some ksh variants, etc.).
Programs should use sysconf (_SC_ARG_MAX) if ARG_MAX is not defined, and
_SC_ARG_MAX is defined.  


Comment 20 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-26 12:28:51 UTC
*** Bug 235905 has been marked as a duplicate of this bug. ***
Comment 21 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-26 12:31:55 UTC
*** Bug 244461 has been marked as a duplicate of this bug. ***
Comment 22 Rafał Mużyło 2009-05-19 17:09:10 UTC
*** Bug 270424 has been marked as a duplicate of this bug. ***
Comment 23 nuitari 2012-05-17 03:32:14 UTC
Had some of this happen recently while updating a forgotten system.
In my case upgrading bash to 4.2 fixed the issue.