emerge nbaudit fails: gcc -DSTEPPING -DSCANNER -DVERBOSE -DWORKGROUP=\"WORKGROUP\" -DGUEST_ACCOUNT=\"nobody\" -DLINUX -DSHADOW_PWD -DNO_ASMSIGNALH -c parse_ip.c gcc -DSTEPPING -DSCANNER -DVERBOSE -DWORKGROUP=\"WORKGROUP\" -DGUEST_ACCOUNT=\"nobody\" -DLINUX -DSHADOW_PWD -DNO_ASMSIGNALH -o nat nat.o client.o util.o system.o nmb.o charset.o parse_ip.o -lshadow /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lshadow collect2: ld returned 1 exit status make: *** [nat] Error 1 !!! ERROR: net-analyzer/nbaudit-1.0 failed. !!! Function src_compile, Line 31, Exitcode 2 !!! (no error message) #locate libshadow /usr/X11R6/lib/modules/libshadow.a /usr/X11R6/lib/modules/libshadowfb.a # qpkg -f /usr/X11R6/lib/modules/libshadow.a x11-base/xorg-x11 * After changing the ebuild to sed -e "s/# \(FLAGSM = -DLINUX -DSHADOW_PWD\)/\1 -DNO_ASMSIGNALH/" \ -e "s/# LIBSM = -lshadow/LIBSM = \ \/usr\/X11R6\/lib\/modules\/libshadow.a/" \ Makefile.old > Makefile but i'm not sure if this is the right way to do it. ;-) Reproducible: Always Steps to Reproduce: 1. emerge nbaudit Portage 2.0.50-r9 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r1, 2.4.27) ================================================================= System uname: 2.4.27 i686 AMD Duron(tm) processor Gentoo Base System version 1.4.16 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer" 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=athlon -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo http://www.ibiblio.org/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow X aalib alsa apm avi berkdb cdr crypt cups dvd emacs encode flac foomaticdb gdbm ggi gif gphoto2 gpm gtk gtk2 guile imlib java jpeg kde libg++ libwww live mad mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl phyton png python qt quicktime qz readline ruby sdl slang snmp spell ssl tcltk tcpd tiff truetype wmf x86 xml2 xmms xv zlib"
The right way is to add the directory of the library to the lib search path using -L, i.e. adding -L/usr/X11R6/lib/modules/. (btw, you can avoid escaping each "/" by using a different seperator for sed: s;# LIBSM = -lshadow;LIBSM = -lshadow -L/usr/X11R6/lib/modules;) fixed in portage. thanks.
This seems to be a problem with recent shadow ebuilds: they used to provide these libs: /usr/lib/libshadow.la /usr/lib/libshadow.a /usr/lib/libmisc.la /usr/lib/libmisc.a but now they don't.
I would check out bug 37725; it looks like the libraries were removed.
# Currently, libshadow.a is for internal use only, so if you see # -lshadow in a Makefile of some other package, it is safe to # remove it.