On Tue, Feb 26, 2019 at 11:18:18AM +0000, Santiago Vila wrote:
> /bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  
> -DSYSCONFDIR='"/etc"' -I./../libdynaloginclient  -Wdate-time 
> -D_FORTIFY_SOURCE=2  -pthread  -DLINUX -D_REENTRANT -D_GNU_SOURCE 
> -I/usr/include/apr-1.0  -I/usr/include/liboath -c -o 
> pam_dynalogin_la-pam_dynalogin.lo `test -f 'pam_dynalogin.c' || echo 
> './'`pam_dynalogin.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DSYSCONFDIR=\"/etc\" 
> -I./../libdynaloginclient -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -DLINUX 
> -D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-1.0 -I/usr/include/liboath -c 
> pam_dynalogin.c  -fPIC -DPIC -o .libs/pam_dynalogin_la-pam_dynalogin.o
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -DSYSCONFDIR=\"/etc\" 
> -I./../libdynaloginclient -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -DLINUX 
> -D_REENTRANT -D_GNU_SOURCE -I/usr/include/apr-1.0 -I/usr/include/liboath -c 
> pam_dynalogin.c -o pam_dynalogin_la-pam_dynalogin.o >/dev/null 2>&1
> make[3]: *** [Makefile:366: pam_dynalogin_la-pam_dynalogin.lo] Error 1
I have no idea why libtool seems to call gcc twice, the first time
correctly, the second time without -DPIC and suppressing the output, but
the second command fails with the following output:

"""
pam_dynalogin.c:327:8: error: variable ‘_pam_dynalogin_modstruct’ has 
initializer but incomplete type
 struct pam_module _pam_dynalogin_modstruct = {
        ^~~~~~~~~~
pam_dynalogin.c:328:3: warning: excess elements in struct initializer
   "pam_dynalogin",
   ^~~~~~~~~~~~~~~
pam_dynalogin.c:328:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:329:3: warning: excess elements in struct initializer
   pam_sm_authenticate,
   ^~~~~~~~~~~~~~~~~~~
pam_dynalogin.c:329:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:330:3: warning: excess elements in struct initializer
   pam_sm_setcred,
   ^~~~~~~~~~~~~~
pam_dynalogin.c:330:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:331:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
pam_dynalogin.c:331:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:332:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
pam_dynalogin.c:332:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:333:3: warning: excess elements in struct initializer
   NULL,
   ^~~~
pam_dynalogin.c:333:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:334:3: warning: excess elements in struct initializer
   NULL
   ^~~~
pam_dynalogin.c:334:3: note: (near initialization for 
‘_pam_dynalogin_modstruct’)
pam_dynalogin.c:327:19: error: storage size of ‘_pam_dynalogin_modstruct’ isn’t 
known
 struct pam_module _pam_dynalogin_modstruct = {
                   ^~~~~~~~~~~~~~~~~~~~~~~~
"""


This seems to be a direct consequence of missing -DPIC (via #ifndef PIC
#define PAM_STATIC).

-- 
WBR, wRAR

Attachment: signature.asc
Description: PGP signature

Reply via email to