As initially reported on bug 284087: * * QA Notice: Package has poor programming practices which may compile * but will almost certainly crash on 64bit architectures. * * Function `FascistCheck' implicitly converted to pointer at pam_cracklib.c:655 * * Please file a bug about this at http://bugs.gentoo.org/ * with the maintaining herd of the package.
Created attachment 205689 [details] /usr/include/crack.h /usr/include/crack.h from the affected system
Can you please make sure you don't have any other crack.h file somewhere in the system, please?
Exactly one crack.h $ find / -name crack.h 2>/dev/null /usr/include/crack.h $ Note: disabling USE=test makes the QA check either go away completely or not fail.
Can you send my way the full build log please?
Created attachment 205695 [details] build log
Please also paste the output of echo | gcc -E -Wp,-v -
# echo | gcc -E -Wp,-v - ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/lib/gcc/alpha-unknown-linux-gnu/4.3.4/../../../../alpha-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/alpha-unknown-linux-gnu/4.3.4/include /usr/lib/gcc/alpha-unknown-linux-gnu/4.3.4/include-fixed /usr/include End of search list. # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "<stdin>" #
See the problem is quite interesting: Making all in pam_cracklib make[3]: Entering directory `/var/tmp/portage/sys-libs/pam-1.1.0/work/Linux-PAM-1.1.0/modules/pam_cracklib' /bin/sh ../../libtool --tag=CC --mode=compile alpha-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libpam/include -I../../libpamc/include -mieee -pipe -O2 -mcpu=ev67 -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -c -o pam_cracklib.lo pam_cracklib.c libtool: compile: alpha-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libpam/include -I../../libpamc/include -mieee -pipe -O2 -mcpu=ev67 -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -c pam_cracklib.c -fPIC -DPIC -o .libs/pam_cracklib.o pam_cracklib.c:56:19: warning: crack.h: No such file or directory pam_cracklib.c: In function ‘pam_sm_chauthtok’: pam_cracklib.c:655: warning: implicit declaration of function ‘FascistCheck’ pam_cracklib.c:655: warning: assignment makes pointer from integer without a cast /bin/sh ../../libtool --tag=CC --mode=link alpha-unknown-linux-gnu-gcc -I../../libpam/include -I../../libpamc/include -mieee -pipe -O2 -mcpu=ev67 -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,-O1 -Wl,--as-needed -Wl,-O1 -o pam_cracklib.la -rpath /lib/security pam_cracklib.lo -L../../libpam -lpam -lcrack -lcrypt libtool: link: alpha-unknown-linux-gnu-gcc -shared .libs/pam_cracklib.o -Wl,-rpath -Wl,/var/tmp/portage/sys-libs/pam-1.1.0/work/Linux-PAM-1.1.0/libpam/.libs -Wl,--as-needed -L/var/tmp/portage/sys-libs/pam-1.1.0/work/Linux-PAM-1.1.0/libpam /var/tmp/portage/sys-libs/pam-1.1.0/work/Linux-PAM-1.1.0/libpam/.libs/libpam.so -ldl /usr/lib/libcrack.so -lz -lcrypt -mieee -mcpu=ev67 -Wl,--version-script=./../modules.map -Wl,-O1 -Wl,-O1 -Wl,-soname -Wl,pam_cracklib.so -o .libs/pam_cracklib.so libtool: link: ( cd ".libs" && rm -f "pam_cracklib.la" && ln -s "../pam_cracklib.la" "pam_cracklib.la" ) make[3]: Leaving directory `/var/tmp/portage/sys-libs/pam-1.1.0/work/Linux-PAM-1.1.0/modules/pam_cracklib' I'm still not sure _why_ is this happening though; your compiler seems to be looking in the right places…
If you need access to our dev alpha for more testing, just drop me a line.
Can you give a try to pam 1.1.1 that I'm committing now?
I just tried 1.1.1 and 1.1.0 on our dev box - apparently the bug is gone :-/ Closing.