They both install /usr/include/gif_lib.h. The giflib ebuild appears to be a copy of the libungif one, or something - it has the same homepage listed. Some ebuilds depend on giflib, some on libungif, and some on both of them! The webpage says libungif only creates uncompressed gif's to avoid the lzw patents, and is the successor of giflib. We should do something about the situation, at least to keep them from overwriting each other's files. Hope I haven't understood the situation incorrectly, I'm very tired right now... Reproducible: Always Steps to Reproduce: lynx pfaedit # emerge info Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.2-r0) ================================================================= System uname: 2.4.20-pfeifer-r1_pre1 i686 Pentium III (Coppermine) GENTOO_MIRRORS="http://194.83.57.15/sites/www.ibiblio.org/gentoo/" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/X11R6/lib/X11/xkb /usr/kde/cvs/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/env.d /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 3dnow apm crypt gif jpeg libg++ mikmod ncurses pdflib png spell truetype xml2 xv zlib gdbm berkdb slang readline tetex svga java X sdl gpm tcpd pam libwww ssl perl python imlib gtk qt kde motif opengl cdr alsa dvd avi quicktime mpeg encode mmx sse cups lame oss tex arts oggvorbis -nls -ipv6 -gnome -esd -xmms -mozilla" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -mcpu=pentium3 -O3 -mmmx -msse -mfpmath=sse -pipe" CXXFLAGS="-march=pentium3 -mcpu=pentium3 -O3 -mmmx -msse -mfpmath=sse -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox userpriv usersandbox ccache distcc noauto keeptemp noclean"
The lzw patent expired in July, at least in the States. http://www.unisys.com/about__unisys/lzw. I don't know if this matters unless they're the same package.
Both packages are still claiming ownership of gif_lib.h though and are overwriting each other's file. Just had an update to imlib-1.9.14-r2 fail during econf, unable to find gif_lib.h. I had tried out enlightenment, then unmerged and depcleaned enlightenment which had installed libungif as a dep. Unmerging libungif cleaned out gif_lib.h, repaired by remerging giflib.
Seems as though this has been addressed with the gif use flag. If USE gif is set libungif installs gif_lib.h otherwise giflib installs it. Can this be closed?
can this be closed?
Shouldn't comment #3 be the other way around? If USE=gif, giflib installs the header. That's what I get on my system here. Anyway, your description means a system can still be broken if USE gif is set when emerging gifilbg and unset when emerging libungif, or the way around. Are these two libraries actually distinct from one another, if their header is the same anyway?
> Are these two libraries actually distinct from one another, if their header > is the same anyway? I.e. shouldn't a virtual be introduced?
'gif' is a bad name fo this useflag. USE=gif should work just like USE=png or USE=tiff. Some ebuilds stumble over this (e.g. fbi: #78243) A local useflag called lzw (use patented(?) lzw compression) for both libgif and libungif would be neat, so these libs can sort out the issue themselves, without stomping on the gif useflag.
wine-20050111 is another example of a package depending on gif_lib.h. I don't have the file, although either giflib or libungif was installed according to portage. I believe one or the other removed once the file, so I got left with the file completely.
OK, here's a clarification for comment #8 of what was the setup when I tried to unsuccessfully "emerge -u wine": * media-libs/giflib Latest version available: 4.1.0-r3 Latest version installed: 4.1.0-r3 Size of downloaded files: 294 kB Homepage: http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml Description: Library to handle, display and manipulate GIF images License: || ( as-is BSD ) * media-libs/libungif Latest version available: 4.1.3 Latest version installed: 4.1.3 Size of downloaded files: 429 kB Homepage: http://sourceforge.net/projects/libungif/ Description: A library for reading and writing gif images without LZW compression License: MIT Portage 2.0.51-r15 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.11-rc4 i686) ================================================================= System uname: 2.6.11-rc4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 14 2005, 10:00:27)] dev-lang/python: 2.2.3-r5, 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.5, 1.4_p6, 1.6.3, 1.9.4, 1.8.5-r3, 1.7.9-r1 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.19-r1, 2.4.21-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -mmmx -msse -msse2 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /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/X11/xkb /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/bind /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mmmx -msse -msse2 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.mirror.icd.hu/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 FFmpeg X Xaw3d aalib acpi adns afs alsa apache2 apm arts ati avcodec avi berkdb bidi bitmap-fonts bonobo caca cdparanoia cdr crypt cscope cups curl dga directfb divx divx4 divx4linux divx5 divx5linux doc dvb dvd dvdr dvdread emacs emacs-w3 encode esd ethereal evo f77 faac faad faad2 fam fame fbcon ffmpeg flac flash font-server foomaticdb fortran fvwm fvwm2 gb gd gdbm ggi gif gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile i8x0 icc imagemagick imlib imlib2 innodb java jpeg junit lcms ldap leim libg++ libwww live lpthread lzo lzw-tiff mad mcal mesa mikmod mmx mmx2 motif mozilla mpeg mule mysql ncurses network nls oggvorbis opengl oss pam pda pdflib perl php php4 plotutils png ppds pthread pthreads python qt qtx quicktime readline rtc ruby samba sasl scanner sdl slang slp speex spell sse sse2 ssl svga tcltk tcpd tetex theora thread threads tiff truetype truetype-fonts type1-fonts unicode usb v4l v4l2 win32 winvidix wmf xml xml2 xmms xosd xv xvid xvmc zeo zlib video_cards_radeon linguas_cs linguas_cz linguas_en" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Since you have the gif useflag set, giflib should provide gif_lib.h. That's the way it's currently being done, even though it's braindamaged. Maybe you flipped the gif useflag between merging libungif and giflib? That would explain why the header is missing.
Dozens of bug reports on other packages because of this issue...
According to Gentoo Weekly Newsletter: March 21st, 2005 (http://www.gentoo.org/news/en/gwn/20050321-newsletter.xml) : [quote] giflib and ungiflib hell Chris White starts a discussion on the libgif / libungif packages since they provide similar features, but libungif is deprecated. This resolved to the removal of libungif from portage. [/quote]. This resolve the bug.
Chris any status update?
libgif now blocks libungif and pretty much every package has been fixed by now