Bug#1066670: ldap2dns: FTBFS: ldap2dns.c:477:25: error: implicit declaration of function ‘ldap_search_s’; did you mean ‘ldap_search_ext’? [-Werror=implicit-function-declaration]
Source: ldap2dns
Version: 0.3.1-5
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration
Relevant part (hopefully):
> gcc -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DVERSION='"0.3.1"' -Wdate-time -D_FORTIFY_SOURCE=2 -c ldap2dns.c -o ldap2dns.o-dbg
> ldap2dns.c: In function ‘read_resourcerecords’:
> ldap2dns.c:477:25: error: implicit declaration of function ‘ldap_search_s’; did you mean ‘ldap_search_ext’? [-Werror=implicit-function-declaration]
> 477 | if ( (ldaperr = ldap_search_s(ldap_con, dn, LDAP_SCOPE_SUBTREE, "objectclass=DNSrrset", NULL, 0, &res))!=LDAP_SUCCESS )
> | ^~~~~~~~~~~~~
> | ldap_search_ext
> ldap2dns.c:558:82: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘char (*)[20]’ [-Wformat=]
> 558 | if (sscanf(bvals[0]->bv_val, "%16s", &rr.timestamp)!=1)
> | ~~~^ ~~~~~~~~~~~~~
> | | |
> | | char (*)[20]
> | char *
> ldap2dns.c: In function ‘read_dnszones’:
> ldap2dns.c:714:98: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘char (*)[64]’ [-Wformat=]
> 714 | if (sscanf(bvals[zonenames]->bv_val, "%64s", &zdn[zonenames])!=1)
> | ~~~^ ~~~~~~~~~~~~~~~
> | | |
> | | char (*)[64]
> | char *
> ldap2dns.c: In function ‘connect’:
> ldap2dns.c:801:28: error: implicit declaration of function ‘ldap_init’ [-Werror=implicit-function-declaration]
> 801 | ldap_con = ldap_init(options.hostname[i], options.port[i]);
> | ^~~~~~~~~
> ldap2dns.c:801:26: warning: assignment to ‘LDAP *’ {aka ‘struct ldap *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 801 | ldap_con = ldap_init(options.hostname[i], options.port[i]);
> | ^
> ldap2dns.c:802:21: error: implicit declaration of function ‘ldap_simple_bind_s’; did you mean ‘ldap_sasl_bind_s’? [-Werror=implicit-function-declaration]
> 802 | if (ldap_simple_bind_s(ldap_con, options.binddn, options.password)==LDAP_SUCCESS) {
> | ^~~~~~~~~~~~~~~~~~
> | ldap_sasl_bind_s
> ldap2dns.c: In function ‘main’:
> ldap2dns.c:818:9: error: implicit declaration of function ‘umask’ [-Werror=implicit-function-declaration]
> 818 | umask(022);
> | ^~~~~
> ldap2dns.c:858:17: error: implicit declaration of function ‘time’ [-Werror=implicit-function-declaration]
> 858 | time(&time_now);
> | ^~~~
> ldap2dns.c:15:1: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
> 14 | #include <unistd.h>
> +++ |+#include <time.h>
> 15 |
> ldap2dns.c:878:33: error: implicit declaration of function ‘ldap_unbind_s’; did you mean ‘ldap_unbind_ext’? [-Werror=implicit-function-declaration]
> 878 | if ( (ldaperr = ldap_unbind_s(ldap_con))!=LDAP_SUCCESS )
> | ^~~~~~~~~~~~~
> | ldap_unbind_ext
> ldap2dns.c:826:17: warning: ignoring return value of ‘nice’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 826 | nice(19);
> | ^~~~~~~~
> ldap2dns.c:876:25: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 876 | system(options.exec_command);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ldap2dns.c: In function ‘read_resourcerecords’:
> ldap2dns.c:477:25: error: implicit declaration of function ‘ldap_search_s’; did you mean ‘ldap_search_ext’? [-Werror=implicit-function-declaration]
> 477 | if ( (ldaperr = ldap_search_s(ldap_con, dn, LDAP_SCOPE_SUBTREE, "objectclass=DNSrrset", NULL, 0, &res))!=LDAP_SUCCESS )
> | ^~~~~~~~~~~~~
> | ldap_search_ext
> ldap2dns.c:558:82: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘char (*)[20]’ [-Wformat=]
> 558 | if (sscanf(bvals[0]->bv_val, "%16s", &rr.timestamp)!=1)
> | ~~~^ ~~~~~~~~~~~~~
> | | |
> | | char (*)[20]
> | char *
> ldap2dns.c: In function ‘read_dnszones’:
> ldap2dns.c:714:98: warning: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘char (*)[64]’ [-Wformat=]
> 714 | if (sscanf(bvals[zonenames]->bv_val, "%64s", &zdn[zonenames])!=1)
> | ~~~^ ~~~~~~~~~~~~~~~
> | | |
> | | char (*)[64]
> | char *
> ldap2dns.c: In function ‘connect’:
> ldap2dns.c:801:28: error: implicit declaration of function ‘ldap_init’ [-Werror=implicit-function-declaration]
> 801 | ldap_con = ldap_init(options.hostname[i], options.port[i]);
> | ^~~~~~~~~
> ldap2dns.c:801:26: warning: assignment to ‘LDAP *’ {aka ‘struct ldap *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 801 | ldap_con = ldap_init(options.hostname[i], options.port[i]);
> | ^
> ldap2dns.c:802:21: error: implicit declaration of function ‘ldap_simple_bind_s’; did you mean ‘ldap_sasl_bind_s’? [-Werror=implicit-function-declaration]
> 802 | if (ldap_simple_bind_s(ldap_con, options.binddn, options.password)==LDAP_SUCCESS) {
> | ^~~~~~~~~~~~~~~~~~
> | ldap_sasl_bind_s
> ldap2dns.c: In function ‘main’:
> ldap2dns.c:818:9: error: implicit declaration of function ‘umask’ [-Werror=implicit-function-declaration]
> 818 | umask(022);
> | ^~~~~
> ldap2dns.c:858:17: error: implicit declaration of function ‘time’ [-Werror=implicit-function-declaration]
> 858 | time(&time_now);
> | ^~~~
> ldap2dns.c:15:1: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
> 14 | #include <unistd.h>
> +++ |+#include <time.h>
> 15 |
> ldap2dns.c:878:33: error: implicit declaration of function ‘ldap_unbind_s’; did you mean ‘ldap_unbind_ext’? [-Werror=implicit-function-declaration]
> 878 | if ( (ldaperr = ldap_unbind_s(ldap_con))!=LDAP_SUCCESS )
> | ^~~~~~~~~~~~~
> | ldap_unbind_ext
> ldap2dns.c:826:17: warning: ignoring return value of ‘nice’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 826 | nice(19);
> | ^~~~~~~~
> ldap2dns.c:876:25: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
> 876 | system(options.exec_command);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
> cc1: some warnings being treated as errors
> make[1]: *** [Makefile:30: ldap2dns.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/ldap2dns_0.3.1-5_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
Reply to: