Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 18820 - giflib, libungif both install gif_lib.h
Summary: giflib, libungif both install gif_lib.h
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: Highest major (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 77809 80414
  Show dependency tree
 
Reported: 2003-04-05 17:18 UTC by Dan Armak (RETIRED)
Modified: 2007-07-19 19:01 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Armak (RETIRED) gentoo-dev 2003-04-05 17:18:55 UTC
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"
Comment 1 James Harlow (RETIRED) gentoo-dev 2003-09-05 17:10:47 UTC
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. 
Comment 2 cerement 2004-09-07 21:32:01 UTC
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.
Comment 3 Daniel Black (RETIRED) gentoo-dev 2004-10-31 16:33:31 UTC
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?
Comment 4 Daniel Black (RETIRED) gentoo-dev 2005-01-15 20:36:02 UTC
can this be closed?
Comment 5 Dan Armak (RETIRED) gentoo-dev 2005-01-17 04:56:31 UTC
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?
Comment 6 Dan Armak (RETIRED) gentoo-dev 2005-02-01 03:55:57 UTC
> Are these two libraries actually distinct from one another, if their header
> is the same anyway?
I.e. shouldn't a virtual be introduced?
Comment 7 Stefan Sperling 2005-02-05 16:04:57 UTC
'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.


Comment 8 Martin Mokrejš 2005-02-14 05:10:00 UTC
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.
Comment 9 Martin Mokrejš 2005-02-14 05:13:19 UTC
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
Comment 10 Stefan Sperling 2005-02-14 08:11:11 UTC
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.
Comment 11 Carsten Lohrke (RETIRED) gentoo-dev 2005-02-16 08:41:16 UTC
Dozens of bug reports on other packages because of this issue...
Comment 12 Sandro Bonazzola (RETIRED) gentoo-dev 2005-03-27 03:45:23 UTC
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.
Comment 13 Luca Barbato gentoo-dev 2005-03-27 05:32:00 UTC
Chris any status update?
Comment 14 SpanKY gentoo-dev 2005-07-23 01:19:26 UTC
libgif now blocks libungif and pretty much every package has been fixed by now