Page MenuHomeFreeBSD

ldns: Upgrade to 1.8.3.
ClosedPublic

Authored by des on May 23 2023, 8:41 AM.
Tags
None
Referenced Files
F102597482: D40226.diff
Thu, Nov 14, 2:21 PM
Unknown Object (File)
Wed, Nov 13, 8:51 AM
Unknown Object (File)
Mon, Nov 4, 1:30 PM
Unknown Object (File)
Sat, Nov 2, 10:43 AM
Unknown Object (File)
Sat, Nov 2, 10:43 AM
Unknown Object (File)
Sat, Nov 2, 10:43 AM
Unknown Object (File)
Oct 12 2024, 7:14 PM
Unknown Object (File)
Oct 11 2024, 6:28 PM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 51668
Build 48559: arc lint + arc unit

Event Timeline

des requested review of this revision.May 23 2023, 8:41 AM

I have added this to lib/libldns/Makefile to fix the build with GCC 12, as caught by the CI:

CWARNFLAGS.parse.c=    ${NO_WUSE_AFTER_FREE}

The build with GCC 12 now fails somewhere else (cddl/lib/libzpool) so I suppose this covers ldns.

I did not need to change anything in usr.bin/drill to build; did I miss anything?

I did not need to change anything in usr.bin/drill to build; did I miss anything?

Yes, drill uses to have its own config.h but it got removed upstream, your build seems fine because you didn't merge that deletion so you're building drill with an out-of-date config.h that just happens to work.

No need for NO_WERROR now.

BTW, I wonder if we should bump SHLIB_MAJOR. Is there an easy way to check?

IMO for privatelib we can leave SHLIB_MAJOR alone

This revision is now accepted and ready to land.May 24 2023, 3:14 PM

With these changes applied on d1639e43c589644510198dc53aef87e8908a1507 (latest main) the build fails for me in usr.bin/drill:

$ make clean && make && make install DESTDIR=/usr/obj/usr/home/khorben/Projects/FreeBSD/src/amd64.amd64/tmp LIBOWN=khorben INCSOWN=khorben
rm -f drill.full.bc drill.full.ll drill drill.bc drill.ll drill.full drill.debug drill.o drill_util.o error.o root.o work.o chasetrace.o dnssec.o securetrace.o drill.bco drill_util.bco error.bco root.bco work.bco chasetrace.bco dnssec.bco securetrace.bco drill.llo drill_util.llo error.llo root.llo work.llo chasetrace.llo dnssec.llo securetrace.llo drill.1.gz drill.1.cat.gz
/usr/local/bin/ccache cc -target x86_64-unknown-freebsd14.0 --sysroot=/usr/obj/usr/home/khorben/Projects/FreeBSD/src/amd64.amd64/tmp -B/usr/obj/usr/home/khorben/Projects/FreeBSD/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common -I/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns -I/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/ldns -DLDNS_TRUST_ANCHOR_FILE='"/etc/unbound/root.key"'   -fPIE -g -gz=zlib -MD  -MF.depend.drill.o -MTdrill.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-variable  -Qunused-arguments    -c /usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c -o drill.o
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:94:72: error: use of undeclared identifier 'PACKAGE_VERSION'
        fprintf(stream, "%s version %s (ldns version %s)\n", progname, DRILL_VERSION, ldns_version());
                                                                       ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.h:15:23: note: expanded from macro 'DRILL_VERSION'
#define DRILL_VERSION PACKAGE_VERSION
                      ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:535:8: error: implicit declaration of function 'inet_pton' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                if (!inet_pton(AF_INET6, name, &s6addr)) {
                     ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:577:14: error: implicit declaration of function 'inet_pton' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        } else if (!inet_pton(AF_INET, name, &s4addr)) {
                    ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:147:17: warning: variable 'key_verified' set but not used [-Wunused-but-set-variable]
        ldns_rr_list    *key_verified;
                         ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:142:8: error: unused variable 'type_str' [-Werror,-Wunused-variable]
        char *type_str;
              ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:139:10: error: unused variable 'tsig_separator2' [-Werror,-Wunused-variable]
        size_t          tsig_separator2;
                        ^
/usr/home/khorben/Projects/FreeBSD/src/contrib/ldns/drill/drill.c:138:10: error: unused variable 'tsig_separator' [-Werror,-Wunused-variable]
        size_t          tsig_separator;
                        ^
1 warning and 6 errors generated.
*** Error code 1

I built and installed libldns first in DESTDIR.