Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 927743 - gnustep-apps/gorm: warning: libgif.so.7, needed by /usr/lib/libgnustep-gui.so, not found (try using -rpath or -rpath-link)
Summary: gnustep-apps/gorm: warning: libgif.so.7, needed by /usr/lib/libgnustep-gui.so...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Gnustep project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 913074
  Show dependency tree
 
Reported: 2024-03-24 18:40 UTC by Sam James
Modified: 2024-04-03 16:03 UTC (History)
1 user (show)

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


Attachments
build.log (file_927743.txt,160.75 KB, text/plain)
2024-03-24 18:40 UTC, Sam James
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-24 18:40:31 UTC
Created attachment 888466 [details]
build.log

gcc  -Wl,-O1 -Wl,--as-needed   -Wl,-O1 -Wl,--as-needed  -pthread -rdynamic   -o Gorm.app/./Gorm \
./obj/Gorm.obj/Gorm.m.o ./obj/Gorm.obj/main.m.o   -LGormLib/./obj -LGormObjCHeaderParser/./obj -LGormPrefs/./obj -LGormCore/./obj  -L/usr/lib/./obj  -L/var/tmp/portage/gnustep-apps/gorm-1.3.1/work/GNUstep/Library/Libraries -L/usr/local/lib -L/usr/lib   -lGormCore -lGorm -lGormObjCHeaderParser -lGormPrefs    -lgnustep-gui    -lgnustep-base    -l:libobjc.so.4   -lm
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: warning: libgif.so.7, needed by /usr/lib/libgnustep-gui.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `EGifCloseFile'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifGetExtensionNext'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifGetRecordType'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `EGifPutImageDesc'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifGetExtension'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `GifQuantizeBuffer'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifCloseFile'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifGetLine'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `EGifPutScreenDesc'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `EGifOpen'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `GifMakeMapObject'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifGetImageDesc'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `EGifPutLine'
/usr/lib/gcc/i686-pc-linux-gnu/13/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/libgnustep-gui.so: undefined reference to `DGifOpen'
collect2: error: ld returned 1 exit status
gmake[3]: *** [/usr/share/GNUstep/Makefiles/Instance/application.make:131: Gorm.app/./Gorm] Error 1
gmake[2]: *** [/usr/share/GNUstep/Makefiles/Instance/application.make:145: internal-app-run-compile-submake] Error 2
gmake[1]: *** [/usr/share/GNUstep/Makefiles/Master/rules.make:297: Gorm.all.app.variables] Error 2
make: *** [/usr/share/GNUstep/Makefiles/Master/application.make:38: internal-all] Error 2
 * ERROR: gnustep-apps/gorm-1.3.1::gentoo failed (compile phase):
 *   emake failed

----

# emerge --info
Portage 3.0.61 (python 3.11.8-final-0, default/linux/x86/17.0/systemd/merged-usr, gcc-13, glibc-2.38-r10, 6.6.22 i686)
=================================================================
System uname: Linux-6.6.22-i686-AMD_Ryzen_9_3950X_16-Core_Processor-with-glibc2.38
KiB Mem:    65758036 total,   5092128 free
KiB Swap:   16662520 total,  16150780 free
Timestamp of repository gentoo: Sun, 24 Mar 2024 11:34:10 +0000
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r3::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.74.1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/sandbox:          2.37::gentoo
sys-apps/systemd:          255.3-r1::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-max-age: 3
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --complete-graph --usepkg=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live clean-logs config-protect-if-modified distlocks fixlafiles ipc-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=pentium4 -mfpmath=sse -pipe"
GENTOO_MIRRORS="https://mirrors.gethosted.online/gentoo/ https://www.mirrorservice.org/sites/distfiles.gentoo.org/ https://mirror.bytemark.co.uk/gentoo/ https://mirrors.soeasyto.com/distfiles.gentoo.org/"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j4 -l4"
PKGDIR="/var/cache/binpkgs"
PORTAGE_COMPRESS="xz"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="acl bzip2 cli crypt dri fortran gdbm iconv ipv6 libtirpc ncurses nls openmp pam pcre readline seccomp ssl systemd test-rust udev unicode x86 xattr zlib" ABI_X86="32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 mmxext" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-24 18:42:26 UTC
I guess there's some automagic dep in gnustep-base/gnustep-gui on libgif?

For me, gnustep-base/gnustep-gui is a binpkg (built locally):
[binary  N     ] gnustep-base/gnustep-make-2.9.0-1::gentoo  USE="(-debug) -doc (-libobjc2) -native-exceptions" 0 KiB
[binary  N     ] gnustep-base/gnustep-base-1.29.0-1:0/1.29::gentoo  USE="gnutls iconv icu libffi (-debug) -doc -zeroconf" 0 KiB
[binary  N     ] gnustep-base/gnustep-gui-0.29.0-r1-1::gentoo  USE="-cups (-debug) -doc -gif -icu -jpeg -png -speech -test" 0 KiB

If I install that gnustep-gui binpkg:

# lddtree /usr/lib/libgnustep-gui.so.0.29.0
libgnustep-gui.so.0.29.0 => /usr/lib/libgnustep-gui.so.0.29.0 (interpreter => none)
    libgnustep-base.so.1.29 => /usr/lib/libgnustep-base.so.1.29
        libgnutls.so.30 => /usr/lib/libgnutls.so.30
            libp11-kit.so.0 => /usr/lib/libp11-kit.so.0
            libidn2.so.0 => /usr/lib/libidn2.so.0
            libunistring.so.5 => /usr/lib/libunistring.so.5
            libtasn1.so.6 => /usr/lib/libtasn1.so.6
            libnettle.so.8 => /usr/lib/libnettle.so.8
            libhogweed.so.6 => /usr/lib/libhogweed.so.6
            libgmp.so.10 => /usr/lib/libgmp.so.10
            ld-linux.so.2 => /usr/lib/ld-linux.so.2
        libxslt.so.1 => /usr/lib/libxslt.so.1
        libxml2.so.2 => /usr/lib/libxml2.so.2
        libffi.so.8 => /usr/lib/libffi.so.8
        libz.so.1 => /usr/lib/libz.so.1
        libicui18n.so.74 => /usr/lib/libicui18n.so.74
            libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/13/libstdc++.so.6
            libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/13/libgcc_s.so.1
        libicuuc.so.74 => /usr/lib/libicuuc.so.74
            libicudata.so.74 => /usr/lib/libicudata.so.74
    libgif.so.7 => not found
    libtiff.so.6 => /usr/lib/libtiff.so.6
        libjpeg.so.62 => /usr/lib/libjpeg.so.62
    libm.so.6 => /usr/lib/libm.so.6
    libobjc.so.4 => /usr/lib/gcc/i686-pc-linux-gnu/13/libobjc.so.4
    libc.so.6 => /usr/lib/libc.so.6
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-24 18:43:27 UTC
The ebuild has: 
	use gif && myconf="--disable-ungif --enable-libgif"

But it doesn't do --disable-libgif with USE=-gif, so might be that
Comment 3 Bernard Cafarelli gentoo-dev 2024-04-03 15:34:35 UTC
https://github.com/gnustep/libs-gui/commit/7f1de7d2688035f44a93d976944a1b32a2e87c98#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R273

So since ~19 years ago the gif autoconf flags are more to choose between libgif and libungif, you found quite an old bug in the ebuild sam! (this is probably why the ebuild has that partial logic for gif handling)

I will probably revbump existing ebuilds (both stable and ~arch) to force enable giflib dependency
Comment 4 Larry the Git Cow gentoo-dev 2024-04-03 16:03:05 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c21cb39e53a74ba01e78a387e6a048e6826988f5

commit c21cb39e53a74ba01e78a387e6a048e6826988f5
Author:     Bernard Cafarelli <voyageur@gentoo.org>
AuthorDate: 2024-04-03 16:02:30 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2024-04-03 16:03:01 +0000

    gnustep-base/gnustep-gui: giflib is a hard dependency
    
    Closes: https://bugs.gentoo.org/927743
    Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>

 ...ep-gui-0.29.0-r1.ebuild => gnustep-gui-0.29.0-r2.ebuild} | 13 +++++--------
 ...ep-gui-0.30.0-r1.ebuild => gnustep-gui-0.30.0-r2.ebuild} | 13 +++++--------
 2 files changed, 10 insertions(+), 16 deletions(-)