[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: