Bug#1066137: gnupg2: -Werror=implicit-function-declaration failure testing for ldap_open
Control: forcemerge 1066137 1066744 Control: found 1066137 2.4.3-2 On 2024-03-12 Thorsten Glaser wrote: > Source: gnupg2 > Version: 2.2.40-1.1 > Severity: serious > Justification: ftbfs > X-Debbugs-Cc: t...@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 [...] I am going to take a look at this. I am also marking this as applying to experimental, too. I have not done a test-build yet but ldap.m4 looks similar. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
Bug#1066137: [pkg-gnupg-maint] Bug#1066137: gnupg2: -Werror=implicit-function-declaration failure testing for ldap_open
On Tuesday, March 12, 2024 11:56:48 PM CET Thorsten Glaser wrote: > Source: gnupg2 > Version: 2.2.40-1.1 > Severity: serious > Justification: ftbfs > X-Debbugs-Cc: t...@mirbsd.de > > Trying to binNMU gnupg2 to make it installable during t64 transition, > I notice the following configury output: apparantly since some version, ldap_open prototype is put behind #if LDAP_DEPRECATED Given the only reference to ldap_open is in the configure script, I guess a quickfix could be to just define that in the m4 scripts / configure scripts as a minimal change. > > | /* end confdefs.h. */ > | > | #ifdef _WIN32 > | #include > | #include > | #else #if LDAP_DEPRECATED > | #include > | #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. I'm a bit surprised the way ldap has decided to deprecate functions, but I guess users needs to work with it. /Sune -- I didn’t stop pretending when I became an adult, it’s just that when I was a kid I was pretending that I fit into the rules and structures of this world. And now that I’m an adult, I pretend that those rules and structures exist. - zefrank
Bug#1066137: gnupg2: -Werror=implicit-function-declaration failure testing for ldap_open
clone 1066137 -1 reassign -1 gnupg1 1.4.23-1.1 retitle -1 gnupg1: fails to build gpgkeys_ldap, probably due to -Werror=implicit-function-declaration thanks Dixi quod… >This matches the following failure mode at the end of the build: Same for gnupg1 according to the buildd page: https://buildd.debian.org/status/package.php?p=gnupg1 >Trying to binNMU gnupg2 to make it installable during t64 transition, Please do also reduce the B-D as Helmut noted in #980768; specifically, dropping ghostscript, imagemagick, libcurl4-gnutls-dev and transfig from src:gnupg2 produces identical binary packages according to his analysis. Perhaps some of that applies to gnupg1 as well. This will help tremendously. Thanks, //mirabilos -- When he found out that the m68k port was in a pretty bad shape, he did not, like many before him, shrug and move on; instead, he took it upon himself to start compiling things, just so he could compile his shell. How's that for dedication. -- Wouter, about my Debian/m68k revival
Bug#1066137: gnupg2: -Werror=implicit-function-declaration failure testing for ldap_open
Source: gnupg2 Version: 2.2.40-1.1 Severity: serious Justification: ftbfs X-Debbugs-Cc: t...@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⎜ I can't build gnugpg2: 19:50⎜dh_install -a -O--builddirectory=build 19:50⎜ dh_install: warning: Cannot find (any matches for) ⎜"debian/tmp/usr/lib/gnupg/dirmngr_ldap" (tried in ., debian/tmp) 19:50⎜ dh_install: warning: dirmngr missing files: ⎜debian/tmp/usr/lib/gnupg/dirmngr_ldap 19:50⎜ 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 | #include | #else | #include | #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