When trying to emerge mplayer with +X use flag (I think), it fails to compile with the errors pertaining to libgif.so. The errors given are: /usr/lib/libgif.so: undefined reference to `XDestroyImage' /usr/lib/libgif.so: undefined reference to `XGetWindowAttributes' /usr/lib/libgif.so: undefined reference to `XGetImage' /usr/lib/libgif.so: undefined reference to `XGetPixel' /usr/lib/libgif.so: undefined reference to `XQueryColors' The reason it's giving errors is because it tries to link libgif.so without passing the -lX11 flag when linking mencoder: cc -I../libvo -I../../libvo -I/usr/X11R6/include -march=athlon -pipe -O2 -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 -Ilibmpdemux -Iloader -Ilibvo -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include -I/usr/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.a liba52/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 -Llibmpdvdkit2 -lmpdvdkit libavcodec/libavcodec.a -lvorbis -logg -ldv -lfaad -ldivxdecore -lmp3lame -lvorbis -logg -lxvidcore -lm -lpng -lz -lz -ljpeg -lasound -ldl -lpthread -lgif -lsmbclient -L/usr/lib -lfribidi -lpthread -ldl -rdynamic -lm When adding the -lX11 flag to cc, it compiles correctly. Reproducible: Always Steps to Reproduce: 1. Change USE flag to include +X (I think it's +X, could be -xmms according to some people) 2. emerge mplayer-1.0pre5 Actual Results: The above errors were spitted out when compiling mplayer, and mplayer failed to compile. Expected Results: Compile mplayer properly with the given use flags. 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) Processor Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 5 2005, 08:17:08)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.8.5-r2, 1.4_p6, 1.9.4, 1.6.3, 1.7.9 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="" ANT_HOME="/usr/share/ant-core" ARCH="x86" AUTOCLEAN="yes" BASH_ENV="/etc/spork/is/not/valid/profile.env" CCACHE_SIZE="512M" CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer" CHOICESPATH="/root/.rox" CHOST="i686-pc-linux-gnu" CLASSPATH="." CLEAN_DELAY="5" COLORFGBG="0;default;15" COLORTERM="rxvt-xpm" 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/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CVS_RSH="ssh" CXXFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer" DCCC_PATH="/usr/lib/distcc/bin" DESKTOP_SESSION="custom" DISPLAY=":0.0" DISTCC_DIR="/var/tmp/.distcc" DISTCC_LOG="" DISTCC_VERBOSE="0" DISTDIR="/usr/portage/distfiles" EDITOR="/usr/bin/vim" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms userpriv usersandbox" FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P ${DISTDIR} ${URI}" FVWM_MODULEDIR="/usr/lib/fvwm/2.5.12" FVWM_USERDIR="/home/orangerd/.fvwm" GCC_SPECS="" GDK_USE_XFT="1" GDMSESSION="custom" GDM_XSERVER_LOCATION="local" GENTOO_MIRRORS="ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.osuosl.org/ ftp://distro.ibiblio.org/pub/Linux/distributions/gentoo/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo" GRP_STAGE23_USE="ipv6 pam tcpd readline nls ssl gpm perl python berkdb ncurses" G_BROKEN_FILENAMES="1" HOME="/root" HOSTDISPLAY="nyamochan:0.0" HOSTNAME="nyamochan" INFODIR="/usr/share/info" INFOPATH="/usr/share/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info" INPUTRC="/etc/inputrc" JAVAC="/opt/sun-jdk-1.4.2.06/bin/javac" JAVA_HOME="/opt/sun-jdk-1.4.2.06" JDK_HOME="/opt/sun-jdk-1.4.2.06" KDEDIR="/usr/kde/3.3" KDEDIRS="/usr" KDE_MALLOC="1" LESS="-R" LESSOPEN="|lesspipe.sh %s" LIBGL_DRIVERS_PATH="/usr/lib/modules/dri" LOGNAME="root" LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.ogg=00;36:*.flac=00;36:*.aac=00;36:" MAKEOPTS="-j2" MANPATH="/usr/share/man:/usr/local/share/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man::/opt/sun-jdk-1.4.2.06/man:/usr/qt/3/doc/man" MAVEN_HOME="/usr/share/maven" NOCOLOR="false" OLDPWD="/var/tmp/portage/mplayer-1.0_pre5-r5/work" PAGER="/usr/bin/less" PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games/bin/" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 ppc-macos ppc-od s390 sh sparc x86 x86-fbsd x86-obsd x86-od" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_CALLER="emerge" PORTAGE_GID="250" PORTAGE_MASTER_PID="9547" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" PORT_LOGDIR="/var/log/portage" PRELINK_PATH="" PRELINK_PATH_MASK="" PS1="\[\033[01;29m\]\!: \[\033[01;32m\]\u\[\033[01;37m\]@\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]" PWD="/var/tmp/portage/mplayer-1.0_pre5-r5/work/MPlayer-1.0pre5try2" PYTHONDOCS="/usr/share/doc/python-docs-2.3.4/html" QMAIL_CONTROLDIR="/var/qmail/control" QMAKESPEC="linux-g++" QTDIR="/usr/qt/3" RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P ${DISTDIR} ${URI}" RPMDIR="/usr/portage/rpm" RSYNC_RETRIES="3" RSYNC_TIMEOUT="300" SHLVL="3" SSH_AGENT_PID="16567" SSH_AUTH_SOCK="/tmp/ssh-SdguI16550/agent.16550" SUDO_COMMAND="/bin/su" SUDO_GID="100" SUDO_UID="1000" SUDO_USER="orangerd" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" TERM="rxvt-unicode" USE="x86 X X509 aac aalib acpi aim alsa apache2 avi berkdb bidi bitmap-fonts caps cdr cjk crypt curl curlwrappers directfb divx4linux doc dvd dvdr emacs emacs-w3 encode fastcgi fb fbcon flac flash foomaticdb fortran ftp gcj gd gif gmail gphoto2 gtk gtk2 gtkhtml icq imagemagick imap imlib imlib2 inifile ipv6 jabber java javadoc javamail javascript jce jikes joystick jpeg junit leim lesstif libwww maildir mime ming mng motif mozilla mp3 mpeg msn mule mysql mysqli nas ncurses nls nptl nvidia oggvorbis opengl oscar pam pdflib perl php pic pie plogutils png posix python qemu-fast qmail qt quicktime quotes readline real ruby samba scanner sdl slang snmp snortsam soap sockets softmmu spamassassin spell ssl stroke svg svga tcltk tcpd tetex threads tidy tiff tokenizer truetype-fonts type1-fonts underscores unicode usb v4l2 vhosts videos vim-pager wmf wxwindows xml xml2 xmlrpc xosd xpm xsl xv xvid yahoo zeo" USER="root" USERLAND="GNU" USERNAME="orangerd" USE_EXPAND="VIDEO_CARDS INPUT_DEVICES LINGUAS" WINDOWID="27262981" XARGS="xargs -r" XAUTHORITY="/home/orangerd/.Xauthority" XINITRC="/etc/X11/xinit/xinitrc" XSESSION_PID="16550" _="/usr/bin/emerge" editor="/usr/bin/gvim" file_manager="/usr/bin/rox" fvwm_home="/home/orangerd/.fvwm" fvwm_icons="/home/orangerd/.fvwm/icons" fvwm_imgs="/home/orangerd/.fvwm/images" fvwm_scripts="/home/orangerd/.fvwm/scripts" fvwm_wallpapers="/home/orangerd/.fvwm/wallpapers" mailer="/usr/bin/mutt" messenger="/usr/bin/gaim" music_player="/usr/bin/beep-media-player" term="/usr/bin/urxvt" video_player="/usr/bin/mplayer" webbrowser="/usr/bin/firefox"
Actually, it seems to be the +gif flag. The following is a patch to the mplayer-1.0_pre5-r5 ebuild: 448c448 < sed -e "s:GIF_LIB =:GIF_LIB = -lgif:" -i config.mak --- > sed -e "s:GIF_LIB =:GIF_LIB = -lgif -lX11:" -i config.mak
Try it now and tell me if you get the same errors.
Thanks Chris, it works great now ;)