Bug#1027094: FTBFS against bind9 9.18.10
Control: forwarded -1 https://pagure.io/bind-dyndb-ldap/issue/216 On 27/12/22 06:16 PM, Bernhard Schmidt wrote: Hi, so this is really massively broken :-( > ../../src/log.h:21:9: error: too few arguments to function ‘isc_error_fatal’ >21 | isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) > | ^~~ That one has been introduced in 9.18.9+. There is an open pull request upstream at https://pagure.io/bind-dyndb-ldap/pull-request/215 , which (together with bumping LIBDNS_VERSION_MAJOR in d/p/hardcode-version.diff) fixes the logging errors. > ../../src/ldap_driver.c: In function ‘allrdatasets’: > ../../src/ldap_driver.c:474:71: error: passing argument 5 of > ‘dns_db_allrdatasets’ makes integer from pointer without a cast > [-Werror=int-conversion] > 474 | return dns_db_allrdatasets(ldapdb->rbtdb, node, version, now, > iteratorp); > | > ^ > | > | > | > dns_rdatasetiter_t ** {aka struct dns_rdatasetiter **} Those appear to be new issues in 9.18.10. I have filed a new upstream bugreport at https://pagure.io/bind-dyndb-ldap/issue/216 . Both dns_db_allrdatasets and dns_zt_apply gained an additional argument https://gitlab.isc.org/isc-projects/bind9/-/commit/1de9c052107a6f24e565441f53e4d8b33bb2e30a https://gitlab.isc.org/isc-projects/bind9/-/commit/6f998bbe518ae629685404bcfddcfd6067176660 and while my attempts to monkeypatch the additional 0 argument into dns_db_allrdatasets cleared most of the warnings I'm lost with the remaining errors. Does not really help that I barely know C, my knowledge ends pretty much here and I have no idea how to go further. In file included from ../../src/zone_register.h:8, from ../../src/ldap_convert.c:28: /usr/include/dns/zt.h:171:28: error: unknown type name ‘isc_rwlocktype_t’; did you mean ‘isc_rwlock_t’? 171 | dns_zt_apply(dns_zt_t *zt, isc_rwlocktype_t lock, bool stop, isc_result_t *sub, |^~~~ |isc_rwlock_t libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Werror -std=gnu99 -O2 -g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-uninitialized -fvisibility=hidden -fno-delete-null-pointer-checks -std=gnu11 -c ../../src/ldap_helper.c -fPIC -DPIC -o .libs/ldap_la-ldap_helper.o ../../src/ldap_driver.c:950:9: error: initialization of ‘isc_result_t (*)(dns_db_t *, dns_dbnode_t *, dns_dbversion_t *, unsigned int, isc_stdtime_t, dns_rdatasetiter_t **)’ {aka ‘enum isc_result (*)(struct dns_db *, void *, void *, unsigned int, unsigned int, struct dns_rdatasetiter **)’} from incompatible pointer type ‘isc_result_t (*)(dns_db_t *, dns_dbnode_t *, dns_dbversion_t *, isc_stdtime_t, dns_rdatasetiter_t **)’ {aka ‘enum isc_result (*)(struct dns_db *, void *, void *, unsigned int, struct dns_rdatasetiter **)’} [-Werror=incompatible-pointer-types] 950 | allrdatasets, | ^~~~ ../../src/ldap_driver.c:950:9: note: (near initialization for ‘ldapdb_methods.allrdatasets’)
Bug#1027094: FTBFS against bind9 9.18.10
On 27/12/22 09:43 PM, Santiago Vila wrote: > > bind-dyndb-ldap has a tight dependency on the upstream version of bind9-libs > > (built by src:bind9) and needs to be rebuilt on every new upstream version > > until https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014503 is fixed. > > Hello. I suppose this is the reason it does not build in stable either. > > Should we use the "found" directive with this bug, > or it is better to file it as a separate bug? I suspect this is a different bug (possibly for the same reason, changed API within a stable release of bind9, but since the breaking code is very fresh I doubt the same thing affects stable). So better file a new one. Bernhard
Bug#1027094: FTBFS against bind9 9.18.10
El 27/12/22 a las 18:16, Bernhard Schmidt escribió: Source: bind-dyndb-ldap Version: 11.10-1 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc: team+...@tracker.debian.org bind-dyndb-ldap has a tight dependency on the upstream version of bind9-libs (built by src:bind9) and needs to be rebuilt on every new upstream version until https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014503 is fixed. Hello. I suppose this is the reason it does not build in stable either. Should we use the "found" directive with this bug, or it is better to file it as a separate bug? Thanks.
Bug#1027094: FTBFS against bind9 9.18.10
Source: bind-dyndb-ldap Version: 11.10-1 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc: team+...@tracker.debian.org bind-dyndb-ldap has a tight dependency on the upstream version of bind9-libs (built by src:bind9) and needs to be rebuilt on every new upstream version until https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014503 is fixed. This worked fine until bind9 9.18.8, but fails in 9.18.10 https://buildd.debian.org/status/fetch.php?pkg=bind-dyndb-ldap=amd64=11.10-1%2Bb5=1671812545=0 This is rather serious as it prevents the migration of 9.18.10 to testing which includes systemd notify support and upstream bugfixes. Also bind9 has followed upstream security releases during bullseye already, so it will break later if 9.18.10 misses the freeze due to this issue. Possible commits: https://gitlab.isc.org/isc-projects/bind9/-/compare/v9_18_8...v9_18_10?from_project_id=1 In file included from ../../src/zone_register.h:8, from ../../src/ldap_convert.c:28: /usr/include/dns/zt.h:171:28: error: unknown type name ‘isc_rwlocktype_t’; did you mean ‘isc_rwlock_t’? 171 | dns_zt_apply(dns_zt_t *zt, isc_rwlocktype_t lock, bool stop, isc_result_t *sub, |^~~~ |isc_rwlock_t make[3]: *** [Makefile:592: ldap_la-ldap_convert.lo] Error 1 make[3]: *** Waiting for unfinished jobs In file included from ../../src/util.h:17, from ../../src/bindcfg.h:10, from ../../src/ldap_driver.c:39: ../../src/ldap_driver.c: In function ‘beginload’: ../../src/log.h:21:9: error: too few arguments to function ‘isc_error_fatal’ 21 | isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) | ^~~ ../../src/ldap_driver.c:220:9: note: in expansion of macro ‘fatal_error’ 220 | fatal_error("ldapdb: method beginload() should never be called"); | ^~~ In file included from /usr/include/isc/util.h:312, from /usr/include/isc/atomic.h:22, from /usr/include/isc/refcount.h:19, from ../../src/ldap_driver.c:16: /usr/include/isc/error.h:42:1: note: declared here 42 | isc_error_fatal(const char *, int, const char *, const char *, ...) | ^~~ ../../src/ldap_driver.c: In function ‘endload’: ../../src/log.h:21:9: error: too few arguments to function ‘isc_error_fatal’ 21 | isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) | ^~~ ../../src/ldap_driver.c:237:9: note: in expansion of macro ‘fatal_error’ 237 | fatal_error("ldapdb: method endload() should never be called"); | ^~~ /usr/include/isc/error.h:42:1: note: declared here 42 | isc_error_fatal(const char *, int, const char *, const char *, ...) | ^~~ ../../src/ldap_driver.c: In function ‘dump’: ../../src/log.h:21:9: error: too few arguments to function ‘isc_error_fatal’ 21 | isc_error_fatal(__FILE__, __LINE__, __VA_ARGS__) | ^~~ ../../src/ldap_driver.c:266:9: note: in expansion of macro ‘fatal_error’ 266 | fatal_error("ldapdb: method dump() should never be called"); | ^~~ /usr/include/isc/error.h:42:1: note: declared here 42 | isc_error_fatal(const char *, int, const char *, const char *, ...) | ^~~ ../../src/ldap_driver.c: In function ‘allrdatasets’: ../../src/ldap_driver.c:474:71: error: passing argument 5 of ‘dns_db_allrdatasets’ makes integer from pointer without a cast [-Werror=int-conversion] 474 | return dns_db_allrdatasets(ldapdb->rbtdb, node, version, now, iteratorp); | ^ | | | dns_rdatasetiter_t ** {aka struct dns_rdatasetiter **} In file included from ../../src/ldap_driver.c:22: /usr/include/dns/db.h:1162:57: note: expected ‘isc_stdtime_t’ {aka ‘unsigned int’} but argument is of type ‘dns_rdatasetiter_t **’ {aka ‘struct dns_rdatasetiter **’} 1162 | unsigned int options, isc_stdtime_t now, | ~~^~~ ../../src/ldap_driver.c:474:16: error: too few arguments to function ‘dns_db_allrdatasets’ 474 | return dns_db_allrdatasets(ldapdb->rbtdb, node, version, now, iteratorp); |^~~ /usr/include/dns/db.h:1161:1: note: declared here 1161 | dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, | ^~~ ../../src/ldap_driver.c: In function ‘node_isempty’: ../../src/ldap_driver.c:517:62: error: passing argument 5 of ‘dns_db_allrdatasets’ makes integer from pointer without a