[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug#924123: shishi: FTBFS with pam >= 1.3 (was: with gcc 8.3)
From: |
Steve Langasek |
Subject: |
Bug#924123: shishi: FTBFS with pam >= 1.3 (was: with gcc 8.3) |
Date: |
Sun, 31 Mar 2019 18:06:34 -0700 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
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 address@hidden': ",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | 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/
address@hidden address@hidden
signature.asc
Description: PGP signature