There's a name crash between the imagemagick and geomview packages in that both contain an /usr/bin/animate application. I am using imagemagick-6.0.7.1 and geomview-1.8.1-r3 but this should be true for any version. I haven't tried to produce an error. Instead during emerge of imagemagick I was myself not sure if it isn't already installed. To verify this I called the /usr/bin/animate program which I knew is part of imagemagick, but another application then the one I know popped up. A qpkg -f /usr/bin/animate stated that this application is part of the geomview package. I then renamed the /usr/bin/animate program to /usr/bin/animate.geomview and after successful installation of imagemagick I renamed its animate tool to /usr/bin/animate.imagemagick. Although this is a hack it works for me atm, but is something that IMO should be considered to be solved. The steps given below to reproduce this bugs are not validated by me, but they should hopefully work. Reproducible: Didn't try Steps to Reproduce: 1. put collision-protect in FEATURES 2. emerge geomview imagemagick 3. alternatively emerge imagemagick geomview Actual Results: not applicable because I didn't solve it this way. Expected Results: not applicable. I will try this in the next few days to verify the steps. gwenhwyfar root # emerge info Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux26-headers-2.6.8.1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -fforce-addr -mfpmath=sse -mmmx -msse -msse2 -Wall" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /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="-march=pentium4 -O3 -fforce-addr -mfpmath=sse -mmmx -msse -msse2 -Wall" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache collision-protect distlocks fixpackages nostrip sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/mnt/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aalib accessibility acl acpi aim alsa apache2 arts audiofile avi bcmath berkdb bindist bitmap-fonts bonobo bzlib caps cdr cjk crypt cscope ctype cups curl curlwrappers dbase dbx dedicated dga directfb divx4linux doc dvd dvdr emacs encode esd ethereal evo exif f77 fam fbcon fdftk fftw flac flash foomaticdb ftp gb gd gdbm ggi gif ginac gmp gnome gnutls gpm gps gstreamer gtk gtk2 gtkhtml guile iconv icq imagemagick imlib jabber jack java jikes joystick jpeg junit kde ladcca lcms libgda libwww mad maildir mcal mhash mikmod mime ming mmap mmx mng motif mozilla mpeg mpi msn mysql nas ncurses netcdf nls nptl odbc offensive oggvorbis openal opengl oscar oss pam pcntl pcre pdflib perl pic pie plotutils png posix ppds python qhull qt quicktime readline samba sdl session shared slang slp soap sockets speex spell sqlite sse ssl svg svga sysvipc tcltk tcpd tetex theora threads tiff truetype unicode usb videos wddx wmf wxwindows x86 xine xml2 xmlrpc xmms xosd xpm xprint xsl xv xvid yahoo zlib"
There's another collision with the imagemagick package. I am not sure whether to report this here or file a new bug, but both bugs are collision related, and both affect imagemagick, so I decided to report it here. When updating from imagemagick 6.0.7.1 to v. 6.1.0.1 gwenhwyfar portage # emerge -pv imagemagick These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] media-gfx/imagemagick-6.1.0.1 [6.0.7.1] +X +cups -debug +graphviz +jbig +jpeg +lcms +mpeg +perl +png +tiff +truetype +wmf +xml2 0 kB Total size of downloads: 0 kB I get the following error: ./usr/include/magick/client.h ./usr/include/magick/utility.h >>> Done. >>> extracting info >>> extracting imagemagick-6.1.0.1 * checking 594 files for package collisions existing file /usr/lib/libltdl.a is not owned by this package existing file /usr/lib/libltdl.la is not owned by this package * spend 0.664039134979 seconds checking for file collisions * This package is blocked because it wants to overwrite * files belonging to other packages (see messages above). * If you have no clue what this is all about report it * as a bug for this package on http://bugs.gentoo.org package media-gfx/imagemagick-6.1.0.1 NOT merged No package files given... Grabbing a set. Both of these files belong to libtool according equery: gwenhwyfar portage # equery belongs /usr/lib/libltdl.a Searching for file '/usr/lib/libltdl.a' in *... sys-devel/libtool-1.5.2-r5 (/usr/lib/libltdl.a) gwenhwyfar portage # equery belongs /usr/lib/libltdl.la Searching for file '/usr/lib/libltdl.la' in *... sys-devel/libtool-1.5.2-r5 (/usr/lib/libltdl.la) The ebuild does not explicitly install them from the src_install function, so I assume they will be installed by 'make install'.
/usr/lib/libltdl.a collision has been already fixed in 6.1.3.2
"/usr/lib/libltdl.a collision has been already fixed in 6.1.3.2" I apologize if I'm incorrect, but so far as I can tell, it has not been. If I am incorrect, I would appreciate it if you could tell me in what way. ... >>> Completed installing into /var/tmp/portage/imagemagick-6.1.3.2/image/ * checking 582 files for package collisions existing file /usr/lib/libltdl.la is not owned by this package existing file /usr/lib/libltdl.a is not owned by this package * spend 0.30256485939 seconds checking for file collisions * This package is blocked because it wants to overwrite * files belonging to other packages (see messages above). * If you have no clue what this is all about report it * as a bug for this package on http://bugs.gentoo.org package media-gfx/imagemagick-6.1.3.2 NOT merged No package files given... Grabbing a set. bash-2.05b# bash-2.05b# emerge --info Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.4.20-gentoo-r6 i686) ================================================================= System uname: 2.4.20-gentoo-r6 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux-headers-2.4.19-r1,sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /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 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache collision-protect distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://mirror.datapipe.net/gentoo ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://gentoo.ccccom.com http://gentoo.osuosl.org/ http://open-systems.ufl.edu/mirrors/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X aalib adns apm arts artswrappersuid avi berkdb bitmap-fonts cdr crypt cups dga directfb doc dvb dvd encode f77 fam fbcon flac flash foomaticdb gd gdbm gif ginac gpm gstreamer gtk gtk2 gtkhtml imagemagick imlib ipv6 java jikes joystick jp2 jpeg jpg2k junit kde ldap libcaca libg++ libwww mad mikmod mmx mng motif mozdomi mozsvg mpeg mpeg4 mysql nas ncurses nocardbus nocd oav offensive oggvorbis opengl operanom2 oscar oss pam pdflib perl pic plotutils png pnp postgres python qhull qt quicktime readline samba sdl silc slang spell sse ssl svg svga svgalib tcltk tcpd tetex tiff truetype type1 usb videos wmf x86 xine xml xml2 xmms xv xvid zlib"
The same here. It seems not fixed in release 6.1.3.2. But I just saw, that the collision of the ltdl libraries is already handled within bug #69705. So maybe we could restrict this bug to the collision of the animate program between imagemagick and geomview.
I tried to reproduce this and started with a 'clean' state, i.e. neither imagemagick nor geomview installed and no animate was in path and /usr/bin/animte did not exist. Either way, by first installing geomview or by first installing imagemagick emerge fails to install the second with the message existing file /usr/bin/animate is not owned by this package * spend 0.0861721038818 seconds checking for file collisions * This package is blocked because it wants to overwrite * files belonging to other packages (see messages above). I tested it in both ways using binary packages and using imagemagick 6.0.7.1 because of the ltdl bug.
/usr/lib/libltdl.a collision has been already fixed in 6.1.3.2, we needed to rollback changes, but now it's ok. This version should be soon stabilized. But what do with geomview collison? Maybe block packages eachother, but it's only workaround.
Ok thanks, I will try and recompile the 6.1.3.2. With the geomview problem I agree with you in that a blocking could only be some kind of workaround. Is there a general strategy for such cases within gentoo development teams? Although such problems seem to occur rarely, I think it wouldn't harm if there's a general way within a distribution to solve it. I do not know how other distris solve this. I can remember that redhat sometimes managed it somehow to install both, but I don't remember how they did this. It was some years ago, think with rh-6.x series. Maybe Knoppix has them both installed. I will get a current knoppix image within the next few days and take a look at it. Maybe I find something interesting :) Another possible solution may eventually be the application of something like follows: - If someone calls for emerging a package with known collisions, the user will be warned and get a chance to cancel the emerge (for example by waiting for 5 sec. like 'emerge --unmerge' does). - If the user doesn't cancel the package will be compiled as usual. When executing src_install, after the usual call to 'emake install' or some similiar target to do actual installation, but before the packaging is done, the relevant files will be renamed within the ${D} image tree. Portage then installs a wrapper script which for example can use zenity or xdialog or something like that, to query the user for the application to start. - After the installation the user must be notified to reinstall the other package(s) involved in the collision. This would be better done by portage directly in triggering the re-installation of the relevant packages (if this is possible from within portage). - At the end of the installations the user must be notified of the collision and the solution used to solve this collision. This solution is a hack. It assumes that all possible collisions are known before installation starts. In fact it was the first that came into my mind. But maybe it will give some starting point. I will think about this during the next time, hoping to find some better solution. If Gentoo currently doesn't have a way to solve collisions effectively it may also be a good idea to start a forum thread and discussion about possible solutions to such problems. IMO a good package manager should be able to handle package collision in an effective way for the desired distribution.
There is only one strategy, block them each other if doesn't exist any other possible way to solve problem (file collision) ;)
so it seems they need to block each other :( is there a way, once they block each other, to ship around the blocking, for example by installing the second of them using ebuild?
In response to comment #6: I found that it is still not working for me. I tried to upgrade imagemagick from Thursday on, when Karol posted his comment, but until now it fails, still with the libltdl collision. I sync'ed my computer this morning for the last time. BTW, I sync my computer once every day. Is this change still not in portage, or does the solution Karol states does not work?
Only 6.1.3.4 fixes this problem: src_install() { make DESTDIR=${D} install #bug 69705 rm -f ${D}/usr/lib/libltdl* .... } `equery files imagemagick` also doesn't show libtool's libraries in imagemagick.
thanks Karol, i'll then use my current release and wait until 6.1.3.4 becomes stable.
Hello again, rel. 6.1.3.4 installed without problem, the libltdl problem seem to have fixed. But it seems that there are more issues related to the collision-protect feature, especially when dealing with perl. For your information (maybe it would be better to post this in the forums). I made this experience: During the last days I cleaned up my /etc/portage/package.* files. For this I backed up the current files to start of with a clean state. I reduced my USE flags in /etc/make.conf to contain only those flags, which I absolutely need. I want to put all other USE flags in /etc/portage/package.use on a per package basis. This caused imagemagick-6.1.3.4 to recompile. But this time it didn't emerge properly but give me a warning about a colliding file, namely the /usr/lib/perl5/5.8.5/i686-linux-thread-multi/perllocal.pod. This same file caused another package, gaim, to fail to due to collision protection. I simply removed the collision-protect feature for those two packages, to get them updated. Though I do not know, if this can be of any harm for my system. I hope it would not harm too much, at least, as I am not familiar with perl. From what I know, this file seems to me as local index- or contents-file for the perl help/doc system. So it may be, that now my perl help is not working properly. Because I do not need this help, I do not care about it not working properly. Additionally the most problems I encounter with collision-protect are problems with overriding any perl related files. I do currently not report any of those for the reasons that I do not know perl, nor want it to learn. I have perl only installed because the system relates on it. So if somethings inside of perl is not working 100% I do not care about it, as long as my system further works. Hope this will be of some help.
(In reply to comment #13) > Hello again, > > rel. 6.1.3.4 installed without problem, the libltdl problem seem to have fixed. OK, closing. Just FYI, perl is not collision-protect compliant (see Bug 71659)