libcap tries to link to pam library if security/pam_modules.h exists even though USE=-pam is being used. The reason is that Makefile includes Make.Rules which checks for above include file overwriting the PAM_CAP environment variable telling it to skip any pam-related compilation. The solution consists in passing PAM_CAP on make commandline instead of through the environment: src_compile() { tc-export BUILD_CC CC AR RANLIB - export PAM_CAP=$(use pam && echo yes || echo no) - emake || die + emake PAM_CAP=$(use pam && echo yes || echo no) || die } Reproducible: Always Steps to Reproduce: 1. /usr/include/security/pam_modules.h exists (but no corresponding .la, .so or .a) 2. USE=-pam emerge libcap Actual Results: Here libcap-2.11 fails to compile with USE=-pam: [ebuild U ] sys-libs/libcap-2.11 [1.10-r11] USE="-pam% (-python%)" 0 kB >>> Unpacking libcap-2.11.tar.bz2 to /var/tmp/portage/sys-libs/libcap-2.11/work * Applying 0001-Make-fixes.patch ... [ ok ] * Applying libcap-2.08-no-static.patch ... [ ok ] >>> Source unpacked. >>> Compiling source in /var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11 ... make -C libcap all ... make[2]: Entering directory `/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap' x86_64-pc-linux-gnu-gcc -O2 -march=nocona -pipe -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -fPIC -Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wshadow -fPIC -I/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap/../libcap/include -I/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap/../libcap/include -Dlinux -L/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap/../libcap -o testcompile test.c pam_cap.o -lpam -ldl -lcap /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lpam collect2: ld returned 1 exit status make[2]: *** [testcompile] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/sys-libs/libcap-2.11/work/libcap-2.11/pam_cap' make: *** [all] Error 2 Expected Results: libcap should compile fine and not try to include anything pam related. Portage 2.1.4.5 (default-linux/amd64/2007.0/no-multilib, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26.5 x86_64) ================================================================= System uname: 2.6.26.5 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Timestamp of tree: Fri, 10 Oct 2008 08:47:01 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.4.4-r13, 2.5.2-r5 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ABI="amd64" ACCEPT_KEYWORDS="amd64" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ARCH="amd64" ASFLAGS_x86="--32" AUTOCLEAN="yes" BOOT_IMAGE="VS-2.6.26.5-x64" CBUILD="x86_64-pc-linux-gnu" CDEFINE_amd64="__x86_64__" CDEFINE_x86="__i386__" CFLAGS="-O2 -march=nocona -pipe" CFLAGS_x86="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" CLEAN_DELAY="5" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CONSOLE="/dev/console" CVS_RSH="ssh" CXXFLAGS="-O2 -march=nocona -pipe" DEFAULT_ABI="amd64" DISPLAY=":0.0" DISTDIR="/usr/portage/distfiles" EDITOR="/usr/bin/vim" ELIBC="glibc" EMERGE_DEFAULT_OPTS="--ask --verbose" EMERGE_WARNING_DELAY="10" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}" GCC_SPECS="" GDK_USE_XFT="1" GENTOO_MIRRORS="ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo" HOME="/root" INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/info" INIT_VERSION="sysvinit-2.86" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LANG="en_US.UTF-8" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LDFLAGS_x86="-m elf_i386 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" LESS="-R -M --shift 5" LESSOPEN="|lesspipe.sh %s" LIBDIR_amd64="lib64" LIBDIR_x86="lib32" LINGUAS="en" LOGNAME="root" LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:" MAKEOPTS="-j3" MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/man" MULTILIB_ABIS="amd64" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib /usr/lib /usr/kde/*/lib /usr/qt/*/lib /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)" OLDPWD="/usr/src/linux-2.6.26.5/security" OPENGL_PROFILE="nvidia" PAGER="/usr/bin/less" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib64/portage/bin" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="warn error log" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_IUSE="^(3dfx|adabas|alpha|alsa_cards_aoa|alsa_cards_aoa-fabric-layout|alsa_cards_aoa-onyx|alsa_cards_aoa-soundbus|alsa_cards_aoa-soundbus-i2s|alsa_cards_aoa-tas|alsa_cards_aoa-toonie|alsa_cards_armaaci|alsa_cards_at91-soc|alsa_cards_at91-soc-eti-b1-wm8731|alsa_cards_au1x00|alsa_cards_cs5535audio|alsa_cards_harmony|alsa_cards_powermac|alsa_cards_pxa2xx-i2sound|alsa_cards_pxa2xx-soc|alsa_cards_pxa2xx-soc-corgi|alsa_cards_pxa2xx-soc-poodle|alsa_cards_pxa2xx-soc-spitz|alsa_cards_pxa2xx-soc-tosa|alsa_cards_sa11xx-uda1341ts|alsa_cards_sun-amd7930|alsa_cards_sun-cs4231|alsa_cards_sun-dbri|altivec|amd64|aqua|arm|asm|birdstep|bmp|bmpx|bootstrap|build|capslib|clvm|cman|cmucl|coreaudio|crosscompile_opts_.*|dbmaker|doomsday|drac|elibc_.*|elibc_Darwin|elibc_DragonFly|elibc_FreeBSD|elibc_NetBSD|elibc_OpenBSD|elibc_glibc|elibc_uclibc|emf|empress|empress-bcs|esoob|fdftk|filepro|firebird|frontbase|gamess|gcc64|gulm|hppa|hvm|ia64|ibm|infopipe|informix|ingres|kernel_.*|kernel_Darwin|kernel_FreeBSD|kernel_linux|lcd_devices_svga|m68k|macbook|mbrola|mips|mplayer-bin|multilib|n32|n64|osp|pam_console|pbbuttonsd|pfpro|plugin|ppc|ppc64|ppcsha1|psyco|pvm|real|s390|selinux|sh|solid|sparc|sparc-fbsd|svga|sybase|sybase-ct|tcc|teamarena|uclibc|ultra1|userland_.*|userland_BSD|userland_Darwin|userland_GNU|video_cards_geode|video_cards_i740|video_cards_impact|video_cards_imstt|video_cards_newport|video_cards_nsc|video_cards_sunbw2|video_cards_suncg14|video_cards_suncg3|video_cards_suncg6|video_cards_sunffb|video_cards_sunleo|video_cards_suntcx|video_cards_vermilion|video_cards_xgi|vidix|vis|win32codecs|x86|x86-fbsd|xmms|yellownet)$" PORTAGE_PYM_PATH="/usr/lib64/portage/pym" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_USE="amd64 elibc_glibc kernel_linux userland_GNU" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" PREVLEVEL="N" PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" PWD="/tmp" PYTHONPATH="/usr/lib64/portage/pym" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}" ROOT="/" ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2" RPMDIR="/usr/portage/rpm" RUNLEVEL="5" SHLVL="1" STAGE1_USE="nptl nptlonly unicode" SYMLINK_LIB="yes" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" TERM="xterm" USE="X a52 aac aalib acpi alsa amd64 arts avi berkdb bzip2 caps cli cracklib cups curl dbus divx4linux encode foomaticdb gif gpm gstreamer iconv idn imlib ipv6 jpeg kde libclamav libg++ libwww lm_sensors mad midi mikmod mmx mp3 mpeg mudflap mysql ncurses nptl nptlonly ogg oggvorbis opengl openmp pcre pdflib png qt3 quicktime readline samba sdl spell sse sse2 ssl tcpd tiff truetype truetype-fonts type1-fonts unicode vorbis xinerama xml xorg xscreensaver xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia" USERLAND="GNU" USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS" USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d" VIDEO_CARDS="nvidia" WINDOWID="8388621" XTERM_LOCALE="en_US.UTF-8" XTERM_SHELL="/bin/bash" XTERM_VERSION="XTerm(235)" _="/usr/bin/emerge
added your fix to cvs, thanks