Hi Bernhard, On Sun, Mar 31, 2019 at 11:27:47PM +0200, Bernhard R. Link wrote: > Control: retitle -1 shishi: FTBFS with pam >= 1.3 > > Just some litte fly-by comment looking over RC bugs affecting testing: > > I can also reproduce the FTBFS in an unstable chroot (so nothing testing > specific with that build failure). > > The log is not really helpful here, as libtool only prints stderr of the > -DPIC compilation, but hides stderr of the non-PIC compilation, while > only the non-PIC compilation fails (the PIC case only produces harmless > warnings). > > Unhiding the output of that gcc run gives the following result: > > | pam_shishi.c: In function 'pam_sm_authenticate': > | pam_shishi.c:185:48: warning: cast to pointer from integer of different > size [-Wint-to-pointer-cast] > | pam_set_data (pamh, "shishi_setcred_return", (void *) retval, NULL); > | ^ > | pam_shishi.c: At top level: > | pam_shishi.c:292:8: error: variable '_pam_shishi_modstruct' has initializer > but incomplete type > | struct pam_module _pam_shishi_modstruct = { > | ^~~~~~~~~~ > | pam_shishi.c:293:3: warning: excess elements in struct initializer > | "pam_shishi", > | ^~~~~~~~~~~~ > | pam_shishi.c:293:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:294:3: warning: excess elements in struct initializer > | pam_sm_authenticate, > | ^~~~~~~~~~~~~~~~~~~ > | pam_shishi.c:294:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:295:3: warning: excess elements in struct initializer > | pam_sm_setcred, > | ^~~~~~~~~~~~~~ > | pam_shishi.c:295:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:296:3: warning: excess elements in struct initializer > | pam_sm_acct_mgmt, > | ^~~~~~~~~~~~~~~~ > | pam_shishi.c:296:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:297:3: warning: excess elements in struct initializer > | pam_sm_open_session, > | ^~~~~~~~~~~~~~~~~~~ > | pam_shishi.c:297:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:298:3: warning: excess elements in struct initializer > | pam_sm_close_session, > | ^~~~~~~~~~~~~~~~~~~~ > | pam_shishi.c:298:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:299:3: warning: excess elements in struct initializer > | pam_sm_chauthtok > | ^~~~~~~~~~~~~~~~ > | pam_shishi.c:299:3: note: (near initialization for '_pam_shishi_modstruct') > | pam_shishi.c:292:19: error: storage size of '_pam_shishi_modstruct' isn't > known > | struct pam_module _pam_shishi_modstruct = { > | ^~~~~~~~~~~~~~~~~~~~~ > | /usr/include/security/pam_modules.h: In function 'pam_sm_authenticate': > | pam_shishi.c:127:7: warning: ignoring return value of 'asprintf', declared > with attribute warn_unused_result [-Wunused-result] > | asprintf ((char **) &msg[0].msg, "Password for `%s@%s': ", > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | shishi_principal_default (h), shishi_realm_default (h)); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Looking at the sourcecode of the pam sourcepackage, it seems like suppor > for PAM_STATIC was removed with pam upstream 1.3.0, which hit Debian > with 1.3.1-3 uploaded 2019-02-12. > Taking a look at other pam_modules, they do not define PAM_STATIC > themself under any circumstances but only check it, > while extra/pam_shishi/pam_shishi.c contains: > | #ifndef PIC > | #define PAM_STATIC > | #endif > Looking around at some old pam documentation, my guess is that > PAM_STATIC is only to be used if modules are to be linked into libpam > directly. So I think those three lines above are in error and without > them this build failure might also be fixed. > @vorlon: could you take a look if my understanding of PAM_STATIC is > correct and it is nothing that should be defined if compiled as > an pam module outside of the pam source tree? That's correct. PAM_STATIC was non-standard, broken through most of the life of Linux-PAM, and is now obsolete; and there is no reason for anything outside of the Linux-PAM tree to ever be building non-PIC PAM modules. This package should stop trying to build a PAM module as a static library. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: PGP signature