Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 242748

Summary: sys-libs/libcap-2.11 fails to build if USE=-pam and some pam headers exist
Product: Gentoo Linux Reporter: Bruno <bonbons>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bruno 2008-10-19 11:36:47 UTC
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
Comment 1 SpanKY gentoo-dev 2008-10-26 02:36:44 UTC
added your fix to cvs, thanks