On Fri, Apr 08, 2005 at 07:53:06PM +0200, Javier Fernández-Sanguino Peña wrote:

> pam-0.78.orig/Linux-PAM/examples$ LC_ALL=C make
> gcc -Wall -Wwrite-strings       -Wpointer-arith -Wcast-qual -Wcast-align      
>  
> -Wstrict-prototypes -Wmissing-prototypes         -Wnested-externs -Winline 
> -Wshadow -Dlinux -g -O2   -I./include 
> -I/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam/include
>  
> -I/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM 
> -I/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpamc/include
>   
> -fPIC 
> -I/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam_misc/include
>  
> -o blank blank.o 
> -L/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam 
> -L/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpamc 
> -L/home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam_misc 
> -lpam -lpam_misc
> blank.o(.text+0x15e): In function `main':
> /home/jfs/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/examples/blank.c:76:
>  
> undefined reference to `pam_misc_drop_env'
> /home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam/libpam.so:
>  
> undefined reference to `pam_get_item'
> /home/devel/debian/NMU/pam-modules/orig/pam-0.78.orig/Linux-PAM/libpam/libpam.so:
>  
> undefined reference to `pam_set_item'
> collect2: ld returned 1 exit status
> make: *** [blank] Error 1

> I guess this is a bug upstream, since it seems that applications need to 
> define this functions before using PAM. A workaround for this is _not_ 
> compiling the applications (or the examples) and don't include the 
> pam_tally binary in the package (commenting the installation routine in 
> debian/rules and removing it from debian/libpam-modules.files). This is 
> done in the patch and the package builds fine.

"undefined reference" means that libpam.so does not contain symbols for
these functions.  That's a rather critical problem, considering these are
core PAM functions.

You also say that applications fail with

> ../../libpam/libpam.so: undefined reference to `pam_get_item'
> ../../libpam/libpam.so: undefined reference to `pam_set_item'

... which means that the PAM library itself is looking for these functions
and can't find them.  Upstream bug or not, this .so is totally screwed;
this isn't something you can patch around by choosing not to build stuff.

-- 
Steve Langasek
postmodern programmer

Attachment: signature.asc
Description: Digital signature

Reply via email to