Configuring gnustep-gui with --disable-ungif and without --enable-libgif still expects to link with a gif library. Reproducible: Always Steps to Reproduce: 1.Emerge gnustep-gui-0.12.0 on a system without media-libs/giflib OR 1. Remove media-libs/giflib or do an emerge --depclean 2. Emerge gnustep-gui-0.12.0 Actual Results: Compilation fails Expected Results: Gnustep-gui should compile and install Partial output from emerge: x86_64-pc-linux-gnu-gcc -rdynamic -Wl,-rpath=/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -shared-libgcc -fexceptions -fgnu-runtime -o obj/set_show_service \ ./obj/set_show_service.o \ -Wl,-rpath=/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -L/usr/lib64 -L../Source/./obj -L../Model/./obj -L/var/tmp/portage/gnustep-base/gnustep-gui-0.12.0/temp/GNUstep/Library/Libraries -L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -lgnustep-gui -lgnustep-base -lpthread -lobjc -lm /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libgif.so.4, needed by /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so, not found (try using -rpath or -rpath-link) /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifGetExtensionNext' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifGetRecordType' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifGetImageDesc' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `EGifCloseFile' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `EGifPutImageDesc' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifGetLine' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `QuantizeBuffer' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifCloseFile' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `EGifPutLine' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `EGifOpen' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifGetExtension' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `EGifPutScreenDesc' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `MakeMapObject' /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so: undefined reference to `DGifOpen' collect2: ld returned 1 exit status make[2]: *** [obj/set_show_service] Error 1 make[1]: *** [set_show_service.all.tool.variables] Error 2 make[1]: Leaving directory `/var/tmp/portage/gnustep-base/gnustep-gui-0.12.0/work/gnustep-gui-0.12.0/Tools' make: *** [internal-all] Error 2 * * ERROR: gnustep-base/gnustep-gui-0.12.0 failed. * Call stack: * ebuild.sh, line 1654: Called dyn_compile * ebuild.sh, line 990: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * gnustep-gui-0.12.0.ebuild, line 43: Called egnustep_make * gnustep-base.eclass, line 134: Called die Note gif USE flag is disabled: emerge -pv gnustep-gui These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] gnustep-base/gnustep-gui-0.12.0 USE="cups jpeg png -debug -doc -gif" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB Output of emerge --info: Portage 2.1.3.9 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r8 x86_64) ================================================================= System uname: 2.6.22-gentoo-r8 x86_64 Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz Timestamp of tree: Mon, 01 Oct 2007 18:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r5 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=nocona -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/gnustep" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl alsa amd64 avi berkdb bitmap-fonts cairo cli cpufreq cracklib crypt cups d divx dri dts dvd dvdnav dvdread emacs gdbm gmedia gnustep gnutls gpm gtk iconv imlib ipv6 isdnlog jack java jpeg live lm_sensors matroska midi mmx moznopango mpeg mudflap ncurses nls nptl nptlonly nsplugin objc oggvorbis openmp oracle pam pcre perl png portaudio ppds pppd python quicktime readline realmedia reflection session sndfile spell spl sse sse2 ssl tcpd theora truetype truetype-fonts type type1-fonts unicode wmp xanim xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="vesa vga fbdev i810 mach64 nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Sounds a lot like bug #190744 ... The tools Makefile in here tries to use the system lignustep-gui (which is still linked to gif), instead of the newly compiled one Changing LD_LIBRARY_PATH should work again, but I wonder how many other packages may have this kind of problems!
The -L search path has the system installed lib dir before the one in the build environment. Therefore -lgnustep-gui finds the installed one, and not the one just built. The fix might be to change the makefile to append LDFLAGS from the environment instead of prepending it (or appending new stuff). Not sure if in reality it is so easy as well.
This order (installed before just compiled) is caused by gnustep-make itself, not the Makefile... And this is not an easy thing to fix (other packages may break if this order changes). So this will probably end up in a fix like in gnustep-base
Finally fixed with the latest gnustep-base eclass committed in portage CVS (-L... paths order is correct now)