[pkg-gnupg-maint] Bug#1066137: gnupg2: -Werror=implicit-function-declaration failure testing for ldap_open

Thorsten Glaser tg at mirbsd.de
Tue Mar 12 22:56:48 GMT 2024


Source: gnupg2
Version: 2.2.40-1.1
Severity: serious
Justification: ftbfs
X-Debbugs-Cc: tg at mirbsd.de

Trying to binNMU gnupg2 to make it installable during t64 transition,
I notice the following configury output:

[…]
checking for library containing dn_skipname... none required
checking whether the resolver is usable... yes
checking whether LDAP via "-lldap" is present and sane... no
checking whether I can make LDAP be sane with lber.h... no
checking whether LDAP via "-lldap -llber" is present and sane... no
checking whether I can make LDAP be sane with lber.h... no
checking whether LDAP via "-lldap -llber -lresolv" is present and sane... no
checking whether I can make LDAP be sane with lber.h... no
checking whether LDAP via "-lwldap32" is present and sane... no
checking whether I can make LDAP be sane with lber.h... no
checking for ber_free in -llber... yes
configure: WARNING:
***
*** Building without LDAP support.
*** No CRL access or X.509 certificate search available.
***
checking for sendmail... no
[…]

This matches the following failure mode at the end of the build:

19:50⎜<cbmuser:#debian-ports> I can't build gnugpg2:
19:50⎜<cbmuser:#debian-ports>    dh_install -a -O--builddirectory=build
19:50⎜<cbmuser:#debian-ports> dh_install: warning: Cannot find (any matches for)
     ⎜    "debian/tmp/usr/lib/gnupg/dirmngr_ldap" (tried in ., debian/tmp)
19:50⎜<cbmuser:#debian-ports> dh_install: warning: dirmngr missing files:
     ⎜    debian/tmp/usr/lib/gnupg/dirmngr_ldap
19:50⎜<cbmuser:#debian-ports> dh_install: error: missing files, aborting

The cause in config.log:

configure:11580: checking whether LDAP via "-lldap" is present and sane
configure:11600: gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/tmp/buildd/gnupg2-2.2.40=. -specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -specs=/usr/share/dpkg/pie-link.specs -Wl,-z,relro -Wl,-z,now conftest.c -lldap   >&5
conftest.c: In function 'main':
conftest.c:96:1: error: implicit declaration of function 'ldap_open'; did you mean 'ldap_turn'? [-Werror=implicit-function-declaration]
   96 | ldap_open("foobar",1234);
      | ^~~~~~~~~
      | ldap_turn
cc1: some warnings being treated as errors
configure:11600: $? = 1
configure: failed program was:
[…]
| /* end confdefs.h.  */
| 
| #ifdef _WIN32
| #include <winsock2.h>
| #include <winldap.h>
| #else
| #include <ldap.h>
| #endif
| 
| int
| main (void)
| {
| ldap_open("foobar",1234);
|   ;
|   return 0;
| }
configure:11608: result: no


Prototypes are now mandatory, both for C23 and because the t64 transition
can only work if prototypes are properly used.

bye,
//mirabilos



More information about the pkg-gnupg-maint mailing list