control: tag -1 + patch Hi,
On 2022-08-08 01:34, Sebastian Ramacher wrote: > Source: libspf2 > Version: 1.2.10-7.1 > Severity: serious > Tags: ftbfs sid bookworm > Justification: fails to build from source (but built successfully in the past) > X-Debbugs-Cc: sramac...@debian.org > > https://buildd.debian.org/status/fetch.php?pkg=libspf2&arch=arm64&ver=1.2.10-7.1%2Bb2&stamp=1659915050&raw=0 > > /bin/bash ../../libtool --tag=CC --mode=link gcc -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security -Wall -Wl,-z,relro > -Wl,--version-script=/<<PKGBUILDDIR>>/debian/libspf2.ver -o spfquery > spfquery.o ../../src/libspf2/libspf2.la -lpthread -lnsl -lresolv > libtool: link: gcc -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z > -Wl,relro -Wl,--version-script=/<<PKGBUILDDIR>>/debian/libspf2.ver -o > .libs/spfquery spfquery.o ../../src/libspf2/.libs/libspf2.so -lpthread -lnsl > -lresolv > /usr/bin/ld: ../../src/libspf2/.libs/libspf2.so: undefined reference to > `__dn_expand' > /usr/bin/ld: ../../src/libspf2/.libs/libspf2.so: undefined reference to > `__dn_skipname' It appears that these two symbols have been renamed in glibc 2.34 when moved from libresolv to libc. Quoting the glibc NEWS file: | * Various symbols previously defined in libresolv have been moved to libc | in order to prepare for libresolv moving entirely into libc (see earlier | entry for merging libraries into libc). The symbols __dn_comp, | __dn_expand, __dn_skipname, __res_dnok, __res_hnok, __res_mailok, | __res_mkquery, __res_nmkquery, __res_nquery, __res_nquerydomain, | __res_nsearch, __res_nsend, __res_ownok, __res_query, __res_querydomain, | __res_search, __res_send formerly in libresolv have been renamed and no | longer have a __ prefix. They are now available in libc. libspf2 is using libreplace internally to provide "replacements in case the OS does not have native libraries that contain (working) copies.". In that case it takes care to rename dn_expand into __dn_expand and dn_skipname into __dn_skipname. It appears that with the changes done in glibc 2.34, libspf2 does not need to use libreplace anymore. Therefore the following patch from Ubuntu fixes the issue: https://patches.ubuntu.com/libs/libspf2/libspf2_1.2.10-7.1ubuntu1.patch Regards Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net