Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 194425 - [GNUStep overlay] gnustep-gui-0.12.0 needs libgif even with -gif
Summary: [GNUStep overlay] gnustep-gui-0.12.0 needs libgif even with -gif
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Gnustep project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-01 18:46 UTC by Jose Quinteiro
Modified: 2024-03-24 18:44 UTC (History)
0 users

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 Jose Quinteiro 2007-10-01 18:46:41 UTC
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
Comment 1 Bernard Cafarelli gentoo-dev 2007-10-02 21:42:13 UTC
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!
Comment 2 Fabian Groffen gentoo-dev 2007-10-03 10:16:02 UTC
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.
Comment 3 Bernard Cafarelli gentoo-dev 2007-10-31 21:43:55 UTC
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
Comment 4 Bernard Cafarelli gentoo-dev 2008-01-04 12:29:05 UTC
Finally fixed with the latest gnustep-base eclass committed in portage CVS (-L... paths order is correct now)