On a fresh system I attempt to emerge and execute games-strategy/ufo2000, and the following error occurs: sal@chico games-strategy $ ufo2000 ufo2000: error while loading shared libraries: NL.so.1.6: cannot open shared object file: No such file or directory Reproducible: Always Steps to Reproduce: 1. emerge -uDpv ufo2000 2. emerge -uD ufo2000 3. ufo2000 Actual Results: ufo2000: error while loading shared libraries: NL.so.1.6: cannot open shared object file: No such file or directory Expected Results: Game should execute normally Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7) ================================================================= System uname: 2.6.7 i686 VIA Samuel 2 Gentoo Base System version 1.4.16 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache distcc fixpackages sandbox" GENTOO_MIRRORS="http://194.117.158.29 http://194.117.158.28 ftp://194.117.158.29/mirrors/gentoo http://ftp.heanet.ie/pub/gentoo/ ftp://194.117.158.28/mirrors/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="3dnow X aalib acpi4linux alsa amd apache2 apm arts avi berkdb bluetooth bzlib cdr cle266 crypt cups curl dga directfb divx4linux dnd dvd emacs encode esd ethereal faad fbcon fbdev ffmpeg flash gd gdbm ggi gif gpm gtk gtk2 imlib jack java joystick jpeg kde lcms libg++ libwww lirc mad mikmod mmx motif mozilla mpeg mpeg4 msn mysql nas ncurses nls oggvorbis opengl oss pam pda pdflib perl php png pnp python qt quicktime readline samba sdl slang speedo speex spell ssl svg svga tcltk tcpd theora tiff transcode truetype unicode v4l v4l2 wifi wmf wxwindows x86 xinerama xml2 xmms xosd xv xvid yahoo zlib"
What's the output of `which ufo2000` ?
sal@chico sal $ which ufo2000 /usr/games/bin/ufo2000 sal@chico sal $
The deps seem fine in the ebuild. Try remerging ufo2000 please.
Un-merging and then re-emerging produces exactly the same output - program fails to run due to a missing lib.
Created attachment 34358 [details] Output of `emerge ufo2000`
Does revdep-rebuild -p do anything for you?
What exactly is libNL anyway? :-) --- sal@chico sal $ sudo /usr/bin/revdep-rebuild -p Password: Checking reverse dependencies... Packages containing binaries and libraries broken by any package update, will be recompiled. Collecting system binaries and libraries... done. (/home/sal/.revdep-rebuild.1_files) Collecting complete LD_LIBRARY_PATH... done. (/home/sal/.revdep-rebuild.2_ldpath) Checking dynamic linking consistency... done. (/home/sal/.revdep-rebuild.3_rebuild) Assigning files to ebuilds... Nothing to rebuild Evaluating package order... done. (/home/sal/.revdep-rebuild.5_order) Dynamic linking on your system is consistent... All done. sal@chico sal $
the NL stuff is from hawknl. Try remerging it and see if that helps. If it doesn't, please post the output of `ls -l /usr/lib/*NL*`
I would say thuis actually looks like a discrpancy between the hawknl ebuild and ufo2000, all it took to get it working was this: sudo ln -sf libNL.so.1.6.8 NL.so.1.6 --- As requested: sal@chico sal $ sudo emerge hawknl Password: Calculating dependencies ...done! >>> emerge (1 of 1) dev-games/hawknl-1.68 to / >>> md5 src_uri ;-) HawkNL168src.tar.gz >>> Unpacking source... >>> Unpacking HawkNL168src.tar.gz to /var/tmp/portage/hawknl-1.68/work >>> Source unpacked. cd src;\ make -f makefile.linux make[1]: Entering directory `/var/tmp/portage/hawknl-1.68/work/hawknl1.68/src' gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o crc.o crc.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o errorstr.o errorstr.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o nl.o nl.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o sock.o sock.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o group.o group.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o loopback.o loopback.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o err.o err.c loopback.c: In function `loopback_getNextPort': loopback.c:60: warning: comparison is always false due to limited range of data type gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o thread.o thread.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o mutex.o mutex.c nl.c: In function `nlSwapf': nl.c:1836: warning: dereferencing type-punned pointer will break strict-aliasing rules nl.c:1838: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o condition.o condition.c gcc -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT -c -o nltime.o nltime.c gcc -o libNL.so.1.6.8 crc.o errorstr.o nl.o sock.o group.o loopback.o err.o thread.o mutex.o condition.o nltime.o -shared -Wl,-soname,NL.so.1.6 -rdynamic -lpthread -Wall -fPIC -I../include -march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx -D_GNU_SOURCE -D_REENTRANT ar cru libNL.a crc.o errorstr.o nl.o sock.o group.o loopback.o err.o thread.o mutex.o condition.o nltime.o ranlib libNL.a make[1]: Leaving directory `/var/tmp/portage/hawknl-1.68/work/hawknl1.68/src' >>> Install hawknl-1.68 into /var/tmp/portage/hawknl-1.68/image/ category dev-games cd src;\ make -f makefile.linux install make[1]: Entering directory `/var/tmp/portage/hawknl-1.68/work/hawknl1.68/src' cp libNL.so.1.6.8 /var/tmp/portage/hawknl-1.68/image//usr/lib cp libNL.a /var/tmp/portage/hawknl-1.68/image//usr/lib chmod 755 /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6.8 ln -s /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6.8 /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6 ln -s /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6.8 /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1 ln -s /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6.8 /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so ln -s /var/tmp/portage/hawknl-1.68/image//usr/lib/libNL.so.1.6.8 /var/tmp/portage/hawknl-1.68/image//usr/lib/NL.so cp ../include/nl.h /var/tmp/portage/hawknl-1.68/image//usr/include/nl.h chmod 644 /var/tmp/portage/hawknl-1.68/image//usr/include/nl.h make[1]: Leaving directory `/var/tmp/portage/hawknl-1.68/work/hawknl1.68/src' man: prepallstrip: strip: strip: usr/lib/libNL.so.1.6.8 making executable: /usr/lib/libNL.so.1.6.8 >>> Completed installing into /var/tmp/portage/hawknl-1.68/image/ ./ ./usr/ ./usr/include/ ./usr/include/nl.h ./usr/lib/ ./usr/lib/libNL.so.1.6.8 ./usr/lib/libNL.a ./usr/lib/libNL.so.1.6 ./usr/lib/libNL.so.1 ./usr/lib/libNL.so ./usr/lib/NL.so >>> Done. >>> extracting info >>> extracting hawknl-1.68 >>> Merging dev-games/hawknl-1.68 to / --- /usr/ --- /usr/include/ >>> /usr/include/nl.h --- /usr/lib/ >>> /usr/lib/libNL.so.1.6.8 >>> /usr/lib/libNL.a >>> /usr/lib/libNL.so.1.6 -> libNL.so.1.6.8 >>> /usr/lib/libNL.so.1 -> libNL.so.1.6.8 >>> /usr/lib/libNL.so -> libNL.so.1.6.8 >>> /usr/lib/NL.so -> libNL.so.1.6.8 >>> Safely unmerging already-installed instance... --- !mtime obj /usr/lib/libNL.so.1.6.8 --- !mtime obj /usr/lib/libNL.a --- !mtime obj /usr/include/nl.h --- !empty dir /usr/lib --- !empty dir /usr/include --- !empty dir /usr --- !targe sym /usr/lib/libNL.so.1.6 --- !targe sym /usr/lib/libNL.so.1 --- !targe sym /usr/lib/libNL.so --- !targe sym /usr/lib/NL.so >>> original instance of package unmerged safely. >>> Regenerating /etc/ld.so.cache... * Caching service dependencies... >>> dev-games/hawknl-1.68 merged. >>> Recording dev-games/hawknl in "world" favorites file... >>> clean: No packages selected for removal. >>> Auto-cleaning packages ... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. * IMPORTANT: 1 config files in /etc need updating. * Type emerge --help config to learn how to update config files. sal@chico sal $ ufo2000 ufo2000: error while loading shared libraries: NL.so.1.6: cannot open shared object file: No such file or directory sal@chico sal $ ls -l /usr/lib/*NL* lrwxrwxrwx 1 root root 14 Jun 29 10:02 /usr/lib/NL.so -> libNL.so.1.6.8 -rw-r--r-- 1 root root 79228 Jun 29 10:02 /usr/lib/libNL.a lrwxrwxrwx 1 root root 14 Jun 29 10:02 /usr/lib/libNL.so -> libNL.so.1.6.8 lrwxrwxrwx 1 root root 14 Jun 29 10:02 /usr/lib/libNL.so.1 -> libNL.so.1.6.8 lrwxrwxrwx 1 root root 14 Jun 29 10:02 /usr/lib/libNL.so.1.6 -> libNL.so.1.6.8 -rwxr-xr-x 1 root root 54024 Jun 29 10:02 /usr/lib/libNL.so.1.6.8 sal@chico sal $
hawknl-1.68-r1 should fix the issue. Running ldconfig as root might fix it as well, but the hawknl ebuild should own that symlink anyhow. Reopen if it's still a problem.