Bugzilla – Bug 1221013
GCC 14: perl-XML-LibXML package fails
Last modified: 2024-03-11 09:34:44 UTC
Building perl-XML-LibXML with GCC 14 fails here: https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/perl-XML-LibXML/standard/x86_64 Due to (exhaustive list of errors): perl-libxml-mm.c: In function ‘PmmDumpRegistry’: perl-libxml-mm.c:142:32: error: passing argument 2 of ‘xmlHashScan’ from incompatible pointer type [-Wincompatible-pointer-types] 142 | xmlHashScan(r, PmmRegistryDumpHashScanner, NULL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void (*)(void *, void *, xmlChar *) {aka void (*)(void *, void *, unsigned char *)} In file included from /usr/include/libxml2/libxml/parser.h:16, from perl-libxml-mm.h:20, from perl-libxml-mm.c:26: /usr/include/libxml2/libxml/hash.h:213:57: note: expected ‘xmlHashScanner’ {aka ‘void (*)(void *, void *, const unsigned char *)’} but argument is of type ‘void (*)(void *, void *, xmlChar *)’ {aka ‘void (*)(void *, void *, unsigned char *)’} 213 | xmlHashScanner f, | ~~~~~~~~~~~~~~~^ perl-libxml-mm.c: In function ‘PmmUnregisterProxyNode’: perl-libxml-mm.c:234:51: error: passing argument 3 of ‘xmlHashRemoveEntry’ from incompatible pointer type [-Wincompatible-pointer-types] 234 | if( xmlHashRemoveEntry(PmmREGISTRY, name, PmmRegistryHashDeallocator) ) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void (*)(void *, xmlChar *) {aka void (*)(void *, unsigned char *)} /usr/include/libxml2/libxml/hash.h:160:47: note: expected ‘xmlHashDeallocator’ {aka ‘void (*)(void *, const unsigned char *)’} but argument is of type ‘void (*)(void *, xmlChar *)’ {aka ‘void (*)(void *, unsigned char *)’} 160 | xmlHashDeallocator f); | ~~~~~~~~~~~~~~~~~~~^ perl-libxml-mm.c: In function ‘PmmCloneProxyNodes’: perl-libxml-mm.c:301:45: error: passing argument 2 of ‘xmlHashCopy’ from incompatible pointer type [-Wincompatible-pointer-types] 301 | reg_copy = xmlHashCopy(PmmREGISTRY, PmmRegistryHashCopier); | ^~~~~~~~~~~~~~~~~~~~~ | | | void * (*)(void *, xmlChar *) {aka void * (*)(void *, unsigned char *)} /usr/include/libxml2/libxml/hash.h:208:56: note: expected ‘xmlHashCopier’ {aka ‘void * (*)(void *, const unsigned char *)’} but argument is of type ‘void * (*)(void *, xmlChar *)’ {aka ‘void * (*)(void *, unsigned char *)’} 208 | xmlHashCopier f); | ~~~~~~~~~~~~~~^ See the meta bug#1220571 for more info.
FTR, how Fedora tackles this issue should be available here: https://gitlab.com/fweimer-rh/fedora-modernc/-/blob/main/pkg/p/perl-XML-LibXML.md?ref_type=heads And the associated Gentoo bug seems to be: https://bugs.gentoo.org/883711
Thanks for the info. The referenced changes have been included upstream in: * https://github.com/shlomif/perl-XML-LibXML/commit/87517859 I'll prepare the update to XML-LibXML-2.0210 which includes it in a moment.
Submitted here: https://build.opensuse.org/request/show/1155537 Builds fine in openSUSE:Factory:Staging:Gcc7.
Released, closing.