mplayer emerge crashes on missing gif_lib.h when trying to compile demux_gif.c Reproducible: Always Steps to Reproduce: 1. emerge mplayer Actual Results: (...) cc -c -I../libvo -I../../libvo -I/usr/X11R6/include -march=athlon-xp -pipe -O2 -D_REENTRANT -D_LARGEFILE_S OURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr /X11R6/include -I../loader -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/ X11R6/include -o demux_gif.o demux_gif.c demux_gif.c:21:21: gif_lib.h: No such file or directory demux_gif.c: In function `demux_gif_fill_buffer': demux_gif.c:43: error: `GifFileType' undeclared (first use in this function) demux_gif.c:43: error: (Each undeclared identifier is reported only once demux_gif.c:43: error: for each function it appears in.) demux_gif.c:43: error: `gif' undeclared (first use in this function) demux_gif.c:43: error: parse error before ')' token demux_gif.c:45: error: `GifRecordType' undeclared (first use in this function) demux_gif.c:45: error: parse error before "type" demux_gif.c:48: error: `ColorMapObject' undeclared (first use in this function) demux_gif.c:48: error: `effective_map' undeclared (first use in this function) demux_gif.c:51: error: `type' undeclared (first use in this function) demux_gif.c:51: error: `IMAGE_DESC_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:52: error: `GIF_ERROR' undeclared (first use in this function) demux_gif.c:56: error: `TERMINATE_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:58: error: `SCREEN_DESC_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:64: error: `EXTENSION_RECORD_TYPE' undeclared (first use in this function) demux_gif.c: In function `demux_open_gif': demux_gif.c:154: error: `GifFileType' undeclared (first use in this function) demux_gif.c:154: error: `gif' undeclared (first use in this function) demux_gif.c: In function `demux_close_gif': demux_gif.c:211: error: `GifFileType' undeclared (first use in this function) demux_gif.c:211: error: `gif' undeclared (first use in this function) demux_gif.c:211: error: parse error before ')' token demux_gif.c:216: error: `GIF_ERROR' undeclared (first use in this function) make[1]: *** [demux_gif.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre5-r5/work/MPlayer-1.0pre5try2/libmpdemux' make: *** [libmpdemux/libmpdemux.a] Error 2 # emerge info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 AMD Athlon(tm) XP 1900+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Oct 17 2004, 15:39:42)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.2.3-r5, 2.3.4 sys-devel/autoconf: 2.59-r5 sys-devel/automake: 1.8.5-r1 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.2-r7 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/etc /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -mfpmath=sse -msse -mmmx -m3dnow" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.chello.cz/pub/mirrors/gentoo-mirror/ http://gentoo.inode.at/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/" LANG="en_US.utf8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.cz.gentoo.org/gentoo-portage" USE="x86 3dnow X acpi alsa apm arts avi berkdb bitmap-fonts cdr crypt cups divx4linux dvd encode f77 fam font-server foomaticdb fortran gdbm gif gphoto2 gtk gtk2 icq imagemagick imap imlib jabber jpeg kde libg++libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls nocardbus nptl nptlonly offensive oggvorbis opengl pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl svg tcltk tcpd tiff truetypetruetype-fonts type1-fonts unicode usb vhosts xml2 xmms xv xvid zlib linguas_en linguas_cz" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS # emerge -pv mplayer [ebuild R ] media-video/mplayer-1.0_pre5-r5 -3dfx +3dnow -3dnowex +X -aalib +alsa (-altivec) +arts -bidi -cdparanoia -debug -directfb +divx4linux -doc -dvb +dvd -dvdread -edl +encode -esd -fbcon -ggi +gif +gtk -i8x0 -ipv6 -jack -joystick +jpeg -libcaca -lirc -live -lzo +mad -matroska -matrox +mmx -mmx2 +mpeg -mythtv -nas +network +nls -nvidia +oggvorbis +opengl -oss +png -real -rtc -samba +sdl +sse -svga -tga -theora +truetype -v4l -v4l2 -xanim -xinerama +xmms +xv +xvid -xvmc 0 kB When I disable gif use flag, it compiles fine.
This seams to be an issue for all mplayer ebuilds having gif? ( ||( media-libs/giflib media-libs/libungif ) ) in RDEPEND. For both giflib and libungif we have 4.1.0.* and 4.1.3 versions. It happens only if giflib is not installed, but libungif-4.1.3 is installed. So the reasonable rdependency should be then gif? ( ||( media-libs/giflib <media-libs/libungif-4.1.3 ) )
Wrong. I have both giflib (4.1.0-r3) and libungif (4.1.3) but it fails at the exact same point on my system. # emerge info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 3200+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Dec 6 2004, 20:10:38)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.4_p6, 1.9.4, 1.5, 1.6.3 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2, 2.6.8.1-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" 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 /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms userpriv usersandbox" GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.uni-c.dk/gentoo/ http://gentoo.inode.at/ http://mir.zyrianes.net/gentoo/ http://darkstar.ist.utl.pt/gentoo/" LANG="it_IT@euro" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X Xaw3d aalib acpi alsa arts avi bash-completion berkdb bindist bitmap-fonts bzlib caps cdr crypt cups curl dga dio divx4linux doc dvd encode evo exif f77 fam fbcon fftw flac font-server foomaticdb fortran ftp gd gdbm ggi gif gphoto2 gpm gtk2 imagemagick joystick jpeg kde libg++ libwww mad maildir mbox mikmod mmx mng motif mozilla mpeg ncurses nls nptl oggvorbis openal opengl pam pdflib perl png posix ppds python qt quicktime readline sasl scanner sdl sockets sox speex spell sse ssl svg svga symlink sysvipctcltk tcpd tiff truetype truetype-fonts type1-fonts unicode usb videos wmf xine xml2 xosd xv xvid zlib" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS, PORTDIR_OVERLAY # emerge -pv mplayer [ebuild R ] media-video/mplayer-1.0_pre5-r5 -3dfx +3dnow +3dnowex +X +aalib +alsa (-altivec) +arts -bidi +cdparanoia -debug -directfb +divx4linux +doc -dvb +dvd +dvdread -edl +encode -esd +fbcon +ggi +gif -gtk -i8x0 -ipv6 -jack +joystick +jpeg -libcaca -lirc -live -lzo +mad -matroska -matrox +mmx +mmx2 +mpeg -mythtv -nas -network +nls -nvidia +oggvorbis +opengl -oss +png +real +rtc -samba +sdl +sse +svga -tga -theora +truetype -v4l -v4l2 +xanim -xinerama -xmms +xv +xvid-xvmc 0 kB
Ditto what #2 said. It seems to be due to gif_lib.h not being installed by giflib, afaik - at least, it's not installed on this box and I certainly didn't remove it. ;-) Anyone experiencing this bug have gif_lib.h in /usr/include?
Yep, re-emerging giflib solves this issue for me. :-)
something deleted my /usr/include/gif_lib.h # epm -ql giflib ... cut ... /usr/lib/libgif.a /usr/include/gif_lib.h /usr/bin/gif2epsn ... cut ... # ls -l /usr/include/gif_lib.h ls: /usr/include/gif_lib.h: No such file or directory It means, re-emerge of giflib is the solution. But why and what did remove the gif_lib.h file?
Re-emerged giflib and libungif, but now the emerge fails in another point with: cc -I../libvo -I../../libvo -I/usr/X11R6/include -march=athlon-xp -pipe -O2 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibmpdemux -Iloader -Ilibvo -I/usr/include/freetype2 -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -o mencoder mencoder.o mp_msg-mencoder.o cpudetect.o codec-cfg.o spudec.o playtree.o playtreeparser.o asxparser.o vobsub.o subreader.o sub_cc.o find_sub.o m_config.o m_option.o parser-cfg.o m_struct.o unrarlib.o libao2/afmt.o divx4_vbr.o libvo/aclib.o libvo/osd.o libvo/sub.o libvo/font_load.o libvo/font_load_ft.o xvid_vbr.o parser-mecmd.o libmpcodecs/libmpencoders.a-ldivxencore -lmp3lame -lvorbis -logg libmpcodecs/libmpcodecs.a mp3lib/libMP3.aliba52/liba52.a libmpeg2/libmpeg2.a loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a postproc/libswscale.a osdep/libosdep.a -ldvdread libavcodec/libavcodec.a-lmad -lvorbis -logg -ldv -lfaad -ldivxdecore -lmp3lame -lvorbis -logg -lxvidcore -lm -lpng -lz -lz -ljpeg -lasound -ldl -lpthread -lfreetype -lz -lcdda_interface -lcdda_paranoia -lgif -lfontconfig -lpthread -ldl -rdynamic -lm /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../libgif.so: undefined reference to `XDestroyImage' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../libgif.so: undefined reference to `XGetWindowAttributes' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../libgif.so: undefined reference to `XGetImage' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../libgif.so: undefined reference to `XGetPixel' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../libgif.so: undefined reference to `XQueryColors' collect2: ld returned 1 exit status make: *** [mencoder] Error 1 !!! ERROR: media-video/mplayer-1.0_pre5-r5 failed. !!! Function src_compile, Line 444, Exitcode 2 !!! Failed to build MPlayer! !!! If you need support, post the topmost build error, NOT this status message. P.S.: I also re-emerged libtool in the meanwhile.
There's a missing "-lX11" before "-lgif" on the link-line. You might want to file a seperate bug for this as these are two seperate issues.
I have got the same problem here. After updating libdv I get an error msg when starting mplayer. So I tried to recompile mplayer but it fails because of the reasons mentioned above... $ mplayer video.wmv mplayer: error while loading shared libraries: libdv.so.2: cannot open shared object file: No such file or directory $ whereis libdv libdv: /usr/lib/libdv.so /usr/lib/libdv.la /usr/lib/libdv.a /usr/include/libdv $ ls -l /usr/lib/libdv* -rw-r--r-- 1 root root 750436 Feb 1 23:08 /usr/lib/libdv.a -rwxr-xr-x 1 root root 771 Feb 1 23:08 /usr/lib/libdv.la lrwxrwxrwx 1 root root 14 Feb 1 23:08 /usr/lib/libdv.so -> libdv.so.4.0.0 lrwxrwxrwx 1 root root 14 Feb 1 23:08 /usr/lib/libdv.so.4 -> libdv.so.4.0.0 -rwxr-xr-x 1 root root 114120 Feb 1 23:08 /usr/lib/libdv.so.4.0.0 # emerge --update --ask --verbose --newuse mplayer [...] [ebuild R ] x11-base/xorg-x11-6.8.0-r4 -3dfx +3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened -insecure-drivers -ipv6 -minimal +mmx -nls +opengl +pam -sdk +sse* -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 0 kB [ebuild R ] media-video/mplayer-1.0_pre5-r5 -3dfx +3dnow* -3dnowex +X -aalib +alsa (-altivec) -arts -bidi -cdparanoia -debug -directfb +divx4linux -doc -dvb +dvd -dvdread -edl +encode +esd -fbcon -ggi +gif +gtk -i8x0 -ipv6 -jack -joystick +jpeg -libcaca -lirc -live -lzo +mad -matroska +matrox* +mmx -mmx2 +mpeg -mythtv -nas -network -nls -nvidia +oggvorbis +opengl -oss +png -real -rtc -samba +sdl +sse* +svga -tga -theora +truetype -v4l -v4l2 -xanim -xinerama +xmms +xv -xvid -xvmc 0 kB [...] Checking for libdv-0.9.5+ ... yes [...] [...] make -C libmpdemux make[1]: Entering directory `/var/tmp/portage/mplayer-1.0_pre5-r5/work/MPlayer-1.0pre5try2/libmpdemux' [...] cc -c -I../libvo -I../../libvo -I/usr/X11R6/include -O2 -march=athlon -pipe -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I../loader -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -o demux_gif.o demux_gif.c demux_gif.c:21:21: gif_lib.h: No such file or directory demux_gif.c: In function `demux_gif_fill_buffer': demux_gif.c:43: error: `GifFileType' undeclared (first use in this function) demux_gif.c:43: error: (Each undeclared identifier is reported only once demux_gif.c:43: error: for each function it appears in.) demux_gif.c:43: error: `gif' undeclared (first use in this function) demux_gif.c:43: error: parse error before ')' token demux_gif.c:45: error: `GifRecordType' undeclared (first use in this function) demux_gif.c:45: error: parse error before "type" demux_gif.c:48: error: `ColorMapObject' undeclared (first use in this function) demux_gif.c:48: error: `effective_map' undeclared (first use in this function) demux_gif.c:51: error: `type' undeclared (first use in this function) demux_gif.c:51: error: `IMAGE_DESC_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:52: error: `GIF_ERROR' undeclared (first use in this function) demux_gif.c:56: error: `TERMINATE_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:58: error: `SCREEN_DESC_RECORD_TYPE' undeclared (first use in this function) demux_gif.c:64: error: `EXTENSION_RECORD_TYPE' undeclared (first use in this function) demux_gif.c: In function `demux_open_gif': demux_gif.c:154: error: `GifFileType' undeclared (first use in this function) demux_gif.c:154: error: `gif' undeclared (first use in this function) demux_gif.c: In function `demux_close_gif': demux_gif.c:211: error: `GifFileType' undeclared (first use in this function) demux_gif.c:211: error: `gif' undeclared (first use in this function) demux_gif.c:211: error: parse error before ')' token demux_gif.c:216: error: `GIF_ERROR' undeclared (first use in this function) make[1]: *** [demux_gif.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre5-r5/work/MPlayer-1.0pre5try2/libmpdemux' make: *** [libmpdemux/libmpdemux.a] Error 2 !!! ERROR: media-video/mplayer-1.0_pre5-r5 failed. !!! Function src_compile, Line 444, Exitcode 2 !!! Failed to build MPlayer! !!! If you need support, post the topmost build error, NOT this status message. # emerge info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 AMD Duron(tm) Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 27 2004, 10:44:33)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4, 1.8.5-r3 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.21-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /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/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X alsa apm avi berkdb bitmap-fonts crypt divx4linux dvd emacs encode esd f77 fam font-server fortran gdbm gif gnome gtk gtk2 imlib java jpeg libg++ libwww mad matrox mikmod mmx motif mpeg ncurses oggvorbis opengl pam pdflib perl png python qt quicktime readline sdl spell sse ssl svga tcpd tetex tiff truetype truetype-fonts type1-fonts xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
*** Bug 80751 has been marked as a duplicate of this bug. ***
From ChangeLog: 05 Feb 2005; Chris White <chriswhite@gentoo.org> +files/mplayer-gif.patch, mplayer-1.0_pre5-r5.ebuild: Fixed giflib support by backing mplayer pre6 giflib detection. Now it compiles further, but the following error occurs: cc -c -I../libvo -I../../libvo -I/usr/X11R6/include -O2 -march=pentium3 -pipe -D_REENTRANT -D_LARGEF ILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/inc lude -I/usr/X11R6/include -I../loader -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/gli b/include -I/usr/X11R6/include -o demux_gif.o demux_gif.c demux_gif.c:21:21: gif_lib.h: No such file or directory make[1]: *** [demux_gif.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre5-r5/work/MPlayer-1.0pre5try2/libmpdemux ' make: *** [libmpdemux/libmpdemux.a] Error 2
After re-emerging giflib everything works again. Thanks Chris! (But I think it is strange that somehow gif_lib.h was deleted...)
Works for me too, thanks
I had the same problem as Paolo Pedroni (comment #6). I tried to re-emerge giflib but it didn't help, so I unmerged libungif and giflib then emerged mplayer and it solved my (this) problem.
I already had mplayer emerged but wanted to re-emerge because some lib seemed to be missing and then I bumped on this bug too! I had to re-emerge giflib too before I could re-emerge mplayer...
mkay, I'm (re)closing this as I provided a backported patch for gif detection. Also, make sure you've re-emerged giflib as well.