Bug 2139546

Summary: libxml2 update to 2.10..3 breaks ABI by removing 111 symbols
Product: [Fedora] Fedora Reporter: Dominik 'Rathann' Mierzejewski <dominik>
Component: libxml2Assignee: David King <amigadave>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 36CC: amigadave, awilliam, berrange, bgilbert, bgilbert, dustymabe, fifofonix, jlebon, mtasaka, rdieter, rjones, rrezh, veillard
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libxml2-2.10.3-2.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-09 11:21:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2138022    
Attachments:
Description Flags
abipkgdiff report none

Description Dominik 'Rathann' Mierzejewski 2022-11-02 22:58:18 UTC
Created attachment 1921871 [details]
abipkgdiff report

Description of problem:
The latest libxml2 update to 2.10.3 breaks ABI by removing 111 symbols. This has already broken xmlsec1 (and, transitively, openconnect) and GraphicsMagic.

Version-Release number of selected component (if applicable):
2.10.3-1.fc36

How reproducible:
Always

Steps to Reproduce:
1. koji download-build --arch=x86_64 libxml2-2.9.14-1.fc36
2. koji download-build --arch=x86_64 libxml2-2.10.3-1.fc36
3. rpmsodiff libxml2-2.9.14-1.fc36.x86_64.rpm libxml2-2.10.3-1.fc36.x86_64.rpm 

Actual results:
	common sonames:
libxml2.so.2	/usr/lib64/libxml2.so.2.9.14	/usr/lib64/libxml2.so.2.10.3

--- libxml2-2.9.14-1.fc36/libxml2.so.2	2022-11-02 23:45:52.255501082 +0100
+++ libxml2-2.10.3-1.fc36/libxml2.so.2	2022-11-02 23:46:25.111715153 +0100
@@ -45,3 +45,2 @@
 UTF8Toisolat1@@LIBXML2_2.4.30	T
-__docbDefaultSAXHandler	T
 __htmlDefaultSAXHandler	T
@@ -92,25 +91,2 @@
 __xmlTreeIndentString	T
-attribute@@LIBXML2_2.4.30	T
-attributeDecl@@LIBXML2_2.4.30	T
-cdataBlock@@LIBXML2_2.4.30	T
-characters@@LIBXML2_2.4.30	T
-checkNamespace@@LIBXML2_2.4.30	T
-comment@@LIBXML2_2.4.30	T
-docbDefaultSAXHandler@@LIBXML2_2.4.30	D
-docbDefaultSAXHandlerInit@@LIBXML2_2.4.30	T
-elementDecl@@LIBXML2_2.4.30	T
-endDocument@@LIBXML2_2.4.30	T
-endElement@@LIBXML2_2.4.30	T
-entityDecl@@LIBXML2_2.4.30	T
-externalSubset@@LIBXML2_2.4.30	T
-getColumnNumber@@LIBXML2_2.4.30	T
-getEntity@@LIBXML2_2.4.30	T
-getLineNumber@@LIBXML2_2.4.30	T
-getNamespace@@LIBXML2_2.4.30	T
-getParameterEntity@@LIBXML2_2.4.30	T
-getPublicId@@LIBXML2_2.4.30	T
-getSystemId@@LIBXML2_2.4.30	T
-globalNamespace@@LIBXML2_2.4.30	T
-hasExternalSubset@@LIBXML2_2.4.30	T
-hasInternalSubset@@LIBXML2_2.4.30	T
 htmlAttrAllowed@@LIBXML2_2.5.2	T
@@ -127,3 +103,2 @@
 htmlCtxtUseOptions@@LIBXML2_2.6.0	T
-htmlDecodeEntities	T
 htmlDefaultSAXHandler@@LIBXML2_2.4.30	D
@@ -175,11 +150,5 @@
 htmlTagLookup@@LIBXML2_2.4.30	T
-ignorableWhitespace@@LIBXML2_2.4.30	T
 initGenericErrorDefaultFunc@@LIBXML2_2.4.30	T
-initdocbDefaultSAXHandler@@LIBXML2_2.4.30	T
-inithtmlDefaultSAXHandler@@LIBXML2_2.4.30	T
-initxmlDefaultSAXHandler@@LIBXML2_2.4.30	T
 inputPop@@LIBXML2_2.4.30	T
 inputPush@@LIBXML2_2.4.30	T
-internalSubset@@LIBXML2_2.4.30	T
-isStandalone@@LIBXML2_2.4.30	T
 isolat1ToUTF8@@LIBXML2_2.4.30	T
@@ -189,15 +158,5 @@
 namePush@@LIBXML2_2.4.30	T
-namespaceDecl@@LIBXML2_2.4.30	T
 nodePop@@LIBXML2_2.4.30	T
 nodePush@@LIBXML2_2.4.30	T
-notationDecl@@LIBXML2_2.4.30	T
 oldXMLWDcompatibility@@LIBXML2_2.4.30	B
-processingInstruction@@LIBXML2_2.4.30	T
-reference@@LIBXML2_2.4.30	T
-resolveEntity@@LIBXML2_2.4.30	T
-setDocumentLocator@@LIBXML2_2.4.30	T
-setNamespace@@LIBXML2_2.4.30	T
-startDocument@@LIBXML2_2.4.30	T
-startElement@@LIBXML2_2.4.30	T
-unparsedEntityDecl@@LIBXML2_2.4.30	T
 valuePop@@LIBXML2_2.4.30	T
@@ -253,3 +212,2 @@
 xmlBufAdd	T
-xmlBufAddHead	T
 xmlBufAddLen	T
@@ -272,3 +230,2 @@
 xmlBufEnd@@LIBXML2_2.9.0	T
-xmlBufErase	T
 xmlBufFree	T
@@ -279,3 +236,2 @@
 xmlBufGrow	T
-xmlBufInflate	T
 xmlBufIsEmpty	T
@@ -290,4 +246,2 @@
 xmlBufUse@@LIBXML2_2.9.0	T
-xmlBufWriteCHAR	T
-xmlBufWriteChar	T
 xmlBufWriteQuotedString	T
@@ -367,3 +321,2 @@
 xmlCleanupParser@@LIBXML2_2.4.30	T
-xmlCleanupPredefinedEntities@@LIBXML2_2.4.30	T
 xmlCleanupThreads@@LIBXML2_2.4.30	T
@@ -429,3 +382,2 @@
 xmlDebugDumpString@@LIBXML2_2.4.30	T
-xmlDecodeEntities@@LIBXML2_2.4.30	T
 xmlDefaultBufferSize@@LIBXML2_2.4.30	D
@@ -471,3 +423,2 @@
 xmlEncodeAttributeEntities	T
-xmlEncodeEntities@@LIBXML2_2.4.30	T
 xmlEncodeEntitiesReentrant@@LIBXML2_2.4.30	T
@@ -533,4 +484,2 @@
 xmlGetExternalEntityLoader@@LIBXML2_2.4.30	T
-xmlGetFeature@@LIBXML2_2.4.30	T
-xmlGetFeaturesList@@LIBXML2_2.4.30	T
 xmlGetGlobalState@@LIBXML2_2.4.30	T
@@ -552,3 +501,2 @@
 xmlGetWarningsDefaultValue@@LIBXML2_2.4.30	D
-xmlHandleEntity@@LIBXML2_2.4.30	T
 xmlHasFeature@@LIBXML2_2.6.21	T
@@ -581,6 +529,2 @@
 xmlHashUpdateEntry@@LIBXML2_2.4.30	T
-xmlIOFTPClose@@LIBXML2_2.4.30	T
-xmlIOFTPMatch@@LIBXML2_2.4.30	T
-xmlIOFTPOpen@@LIBXML2_2.4.30	T
-xmlIOFTPRead@@LIBXML2_2.4.30	T
 xmlIOHTTPClose@@LIBXML2_2.4.30	T
@@ -602,3 +546,2 @@
 xmlInitializeGlobalState@@LIBXML2_2.4.30	T
-xmlInitializePredefinedEntities@@LIBXML2_2.4.30	T
 xmlInputReadCallbackNop	T
@@ -692,27 +635,2 @@
 xmlMutexUnlock@@LIBXML2_2.4.30	T
-xmlNamespaceParseNCName@@LIBXML2_2.4.30	T
-xmlNamespaceParseNSDef@@LIBXML2_2.4.30	T
-xmlNamespaceParseQName@@LIBXML2_2.4.30	T
-xmlNanoFTPCheckResponse@@LIBXML2_2.4.30	T
-xmlNanoFTPCleanup@@LIBXML2_2.4.30	T
-xmlNanoFTPClose@@LIBXML2_2.4.30	T
-xmlNanoFTPCloseConnection@@LIBXML2_2.4.30	T
-xmlNanoFTPConnect@@LIBXML2_2.4.30	T
-xmlNanoFTPConnectTo@@LIBXML2_2.4.30	T
-xmlNanoFTPCwd@@LIBXML2_2.4.30	T
-xmlNanoFTPDele@@LIBXML2_2.5.5	T
-xmlNanoFTPFreeCtxt@@LIBXML2_2.4.30	T
-xmlNanoFTPGet@@LIBXML2_2.4.30	T
-xmlNanoFTPGetConnection@@LIBXML2_2.4.30	T
-xmlNanoFTPGetResponse@@LIBXML2_2.4.30	T
-xmlNanoFTPGetSocket@@LIBXML2_2.4.30	T
-xmlNanoFTPInit@@LIBXML2_2.4.30	T
-xmlNanoFTPList@@LIBXML2_2.4.30	T
-xmlNanoFTPNewCtxt@@LIBXML2_2.4.30	T
-xmlNanoFTPOpen@@LIBXML2_2.4.30	T
-xmlNanoFTPProxy@@LIBXML2_2.4.30	T
-xmlNanoFTPQuit@@LIBXML2_2.4.30	T
-xmlNanoFTPRead@@LIBXML2_2.4.30	T
-xmlNanoFTPScanProxy@@LIBXML2_2.4.30	T
-xmlNanoFTPUpdateURL@@LIBXML2_2.4.30	T
 xmlNanoHTTPAuthHeader@@LIBXML2_2.4.30	T
@@ -756,3 +674,2 @@
 xmlNewEntityInputStream@@LIBXML2_2.4.30	T
-xmlNewGlobalNs@@LIBXML2_2.4.30	T
 xmlNewIOInputStream@@LIBXML2_2.4.30	T
@@ -866,3 +783,2 @@
 xmlParseName@@LIBXML2_2.4.30	T
-xmlParseNamespace@@LIBXML2_2.4.30	T
 xmlParseNmtoken@@LIBXML2_2.4.30	T
@@ -874,3 +790,2 @@
 xmlParsePubidLiteral@@LIBXML2_2.4.30	T
-xmlParseQuotedString@@LIBXML2_2.4.30	T
 xmlParseReference@@LIBXML2_2.4.30	T
@@ -893,3 +808,2 @@
 xmlParserHandlePEReference@@LIBXML2_2.4.30	T
-xmlParserHandleReference@@LIBXML2_2.4.30	T
 xmlParserInputBufferCreateFd@@LIBXML2_2.4.30	T
@@ -1025,3 +939,2 @@
 xmlSAX2InitDefaultSAXHandler@@LIBXML2_2.6.0	T
-xmlSAX2InitDocbDefaultSAXHandler@@LIBXML2_2.6.0	T
 xmlSAX2InitHtmlDefaultSAXHandler@@LIBXML2_2.6.0	T
@@ -1067,3 +980,2 @@
 xmlSaveUri@@LIBXML2_2.4.30	T
-xmlScanName@@LIBXML2_2.4.30	T
 xmlSchemaCheckFacet@@LIBXML2_2.5.8	T
@@ -1146,5 +1058,3 @@
 xmlSetDocCompressMode@@LIBXML2_2.4.30	T
-xmlSetEntityReferenceFunc@@LIBXML2_2.4.30	T
 xmlSetExternalEntityLoader@@LIBXML2_2.4.30	T
-xmlSetFeature@@LIBXML2_2.4.30	T
 xmlSetGenericErrorFunc@@LIBXML2_2.4.30	T
@@ -1563,3 +1473,2 @@
 xmlUnsetProp@@LIBXML2_2.4.30	T
-xmlUpgradeOldNs	T
 xmlValidBuildContentModel@@LIBXML2_2.4.30	T
@@ -1762,23 +1671,3 @@
 xmlXPatherror@@LIBXML2_2.4.30	T
-xmlXPtrAdvanceNode	T
-xmlXPtrBuildNodeList@@LIBXML2_2.4.30	T
 xmlXPtrEval@@LIBXML2_2.4.30	T
-xmlXPtrEvalRangePredicate@@LIBXML2_2.4.30	T
-xmlXPtrFreeLocationSet@@LIBXML2_2.4.30	T
-xmlXPtrLocationSetAdd@@LIBXML2_2.4.30	T
-xmlXPtrLocationSetCreate@@LIBXML2_2.4.30	T
-xmlXPtrLocationSetDel@@LIBXML2_2.4.30	T
-xmlXPtrLocationSetMerge@@LIBXML2_2.4.30	T
-xmlXPtrLocationSetRemove@@LIBXML2_2.4.30	T
-xmlXPtrNewCollapsedRange@@LIBXML2_2.4.30	T
 xmlXPtrNewContext@@LIBXML2_2.4.30	T
-xmlXPtrNewLocationSetNodeSet@@LIBXML2_2.4.30	T
-xmlXPtrNewLocationSetNodes@@LIBXML2_2.4.30	T
-xmlXPtrNewRange@@LIBXML2_2.4.30	T
-xmlXPtrNewRangeNodeObject@@LIBXML2_2.4.30	T
-xmlXPtrNewRangeNodePoint@@LIBXML2_2.4.30	T
-xmlXPtrNewRangeNodes@@LIBXML2_2.4.30	T
-xmlXPtrNewRangePointNode@@LIBXML2_2.4.30	T
-xmlXPtrNewRangePoints@@LIBXML2_2.4.30	T
-xmlXPtrRangeToFunction@@LIBXML2_2.4.30	T
-xmlXPtrWrapLocationSet@@LIBXML2_2.4.30	T

	111 symbols removed
D docbDefaultSAXHandler@@LIBXML2_2.4.30
T __docbDefaultSAXHandler
T attribute@@LIBXML2_2.4.30
T attributeDecl@@LIBXML2_2.4.30
T cdataBlock@@LIBXML2_2.4.30
T characters@@LIBXML2_2.4.30
T checkNamespace@@LIBXML2_2.4.30
T comment@@LIBXML2_2.4.30
T docbDefaultSAXHandlerInit@@LIBXML2_2.4.30
T elementDecl@@LIBXML2_2.4.30
T endDocument@@LIBXML2_2.4.30
T endElement@@LIBXML2_2.4.30
T entityDecl@@LIBXML2_2.4.30
T externalSubset@@LIBXML2_2.4.30
T getColumnNumber@@LIBXML2_2.4.30
T getEntity@@LIBXML2_2.4.30
T getLineNumber@@LIBXML2_2.4.30
T getNamespace@@LIBXML2_2.4.30
T getParameterEntity@@LIBXML2_2.4.30
T getPublicId@@LIBXML2_2.4.30
T getSystemId@@LIBXML2_2.4.30
T globalNamespace@@LIBXML2_2.4.30
T hasExternalSubset@@LIBXML2_2.4.30
T hasInternalSubset@@LIBXML2_2.4.30
T htmlDecodeEntities
T ignorableWhitespace@@LIBXML2_2.4.30
T initdocbDefaultSAXHandler@@LIBXML2_2.4.30
T inithtmlDefaultSAXHandler@@LIBXML2_2.4.30
T initxmlDefaultSAXHandler@@LIBXML2_2.4.30
T internalSubset@@LIBXML2_2.4.30
T isStandalone@@LIBXML2_2.4.30
T namespaceDecl@@LIBXML2_2.4.30
T notationDecl@@LIBXML2_2.4.30
T processingInstruction@@LIBXML2_2.4.30
T reference@@LIBXML2_2.4.30
T resolveEntity@@LIBXML2_2.4.30
T setDocumentLocator@@LIBXML2_2.4.30
T setNamespace@@LIBXML2_2.4.30
T startDocument@@LIBXML2_2.4.30
T startElement@@LIBXML2_2.4.30
T unparsedEntityDecl@@LIBXML2_2.4.30
T xmlBufAddHead
T xmlBufErase
T xmlBufInflate
T xmlBufWriteCHAR
T xmlBufWriteChar
T xmlCleanupPredefinedEntities@@LIBXML2_2.4.30
T xmlDecodeEntities@@LIBXML2_2.4.30
T xmlEncodeEntities@@LIBXML2_2.4.30
T xmlGetFeature@@LIBXML2_2.4.30
T xmlGetFeaturesList@@LIBXML2_2.4.30
T xmlHandleEntity@@LIBXML2_2.4.30
T xmlIOFTPClose@@LIBXML2_2.4.30
T xmlIOFTPMatch@@LIBXML2_2.4.30
T xmlIOFTPOpen@@LIBXML2_2.4.30
T xmlIOFTPRead@@LIBXML2_2.4.30
T xmlInitializePredefinedEntities@@LIBXML2_2.4.30
T xmlNamespaceParseNCName@@LIBXML2_2.4.30
T xmlNamespaceParseNSDef@@LIBXML2_2.4.30
T xmlNamespaceParseQName@@LIBXML2_2.4.30
T xmlNanoFTPCheckResponse@@LIBXML2_2.4.30
T xmlNanoFTPCleanup@@LIBXML2_2.4.30
T xmlNanoFTPClose@@LIBXML2_2.4.30
T xmlNanoFTPCloseConnection@@LIBXML2_2.4.30
T xmlNanoFTPConnect@@LIBXML2_2.4.30
T xmlNanoFTPConnectTo@@LIBXML2_2.4.30
T xmlNanoFTPCwd@@LIBXML2_2.4.30
T xmlNanoFTPDele@@LIBXML2_2.5.5
T xmlNanoFTPFreeCtxt@@LIBXML2_2.4.30
T xmlNanoFTPGet@@LIBXML2_2.4.30
T xmlNanoFTPGetConnection@@LIBXML2_2.4.30
T xmlNanoFTPGetResponse@@LIBXML2_2.4.30
T xmlNanoFTPGetSocket@@LIBXML2_2.4.30
T xmlNanoFTPInit@@LIBXML2_2.4.30
T xmlNanoFTPList@@LIBXML2_2.4.30
T xmlNanoFTPNewCtxt@@LIBXML2_2.4.30
T xmlNanoFTPOpen@@LIBXML2_2.4.30
T xmlNanoFTPProxy@@LIBXML2_2.4.30
T xmlNanoFTPQuit@@LIBXML2_2.4.30
T xmlNanoFTPRead@@LIBXML2_2.4.30
T xmlNanoFTPScanProxy@@LIBXML2_2.4.30
T xmlNanoFTPUpdateURL@@LIBXML2_2.4.30
T xmlNewGlobalNs@@LIBXML2_2.4.30
T xmlParseNamespace@@LIBXML2_2.4.30
T xmlParseQuotedString@@LIBXML2_2.4.30
T xmlParserHandleReference@@LIBXML2_2.4.30
T xmlSAX2InitDocbDefaultSAXHandler@@LIBXML2_2.6.0
T xmlScanName@@LIBXML2_2.4.30
T xmlSetEntityReferenceFunc@@LIBXML2_2.4.30
T xmlSetFeature@@LIBXML2_2.4.30
T xmlUpgradeOldNs
T xmlXPtrAdvanceNode
T xmlXPtrBuildNodeList@@LIBXML2_2.4.30
T xmlXPtrEvalRangePredicate@@LIBXML2_2.4.30
T xmlXPtrFreeLocationSet@@LIBXML2_2.4.30
T xmlXPtrLocationSetAdd@@LIBXML2_2.4.30
T xmlXPtrLocationSetCreate@@LIBXML2_2.4.30
T xmlXPtrLocationSetDel@@LIBXML2_2.4.30
T xmlXPtrLocationSetMerge@@LIBXML2_2.4.30
T xmlXPtrLocationSetRemove@@LIBXML2_2.4.30
T xmlXPtrNewCollapsedRange@@LIBXML2_2.4.30
T xmlXPtrNewLocationSetNodeSet@@LIBXML2_2.4.30
T xmlXPtrNewLocationSetNodes@@LIBXML2_2.4.30
T xmlXPtrNewRange@@LIBXML2_2.4.30
T xmlXPtrNewRangeNodeObject@@LIBXML2_2.4.30
T xmlXPtrNewRangeNodePoint@@LIBXML2_2.4.30
T xmlXPtrNewRangeNodes@@LIBXML2_2.4.30
T xmlXPtrNewRangePointNode@@LIBXML2_2.4.30
T xmlXPtrNewRangePoints@@LIBXML2_2.4.30
T xmlXPtrRangeToFunction@@LIBXML2_2.4.30
T xmlXPtrWrapLocationSet@@LIBXML2_2.4.30

vim:ft=diff

Expected results:
No removed symbols.

Additional info:
See also bug 2136800 and bug 2138022.

Comment 1 Dominik 'Rathann' Mierzejewski 2022-11-02 23:02:30 UTC
It looks like the best way to fix this might be to rebuild --with-ftp added to %configure call.

https://gitlab.gnome.org/GNOME/libxml2/-/commit/a0a0f3be93753e387e31e7de95904a24b3c876dd

Comment 2 Mamoru TASAKA 2022-11-03 11:05:32 UTC
ImageMagick (and transitively rubygem-rmagick) is also broken

Comment 3 Mamoru TASAKA 2022-11-03 15:58:12 UTC
So --with-ftp is only for xmlXXXXFTPXXXX series, other removed symbols are still missing.

Then additionally adding     --with-legacy --with-ftp --with-xptr-locs  (after reading include/libxml/xmlversion.h.in, configure.ac and their histories),
the result scratch build is:

https://koji.fedoraproject.org/scratch/mtasaka/task_93748005/

Now:
=============================================================
[tasaka1@localhost x86_64]$ rpmsodiff libxml2-2.9.14-3.fc37.x86_64.rpm libxml2-2.10.3-1.fc37.bz2139546.x86_64.rpm 
	common sonames:
libxml2.so.2	/usr/lib64/libxml2.so.2.9.14	/usr/lib64/libxml2.so.2.10.3

	10 symbols removed
D docbDefaultSAXHandler@@LIBXML2_2.4.30
T __docbDefaultSAXHandler
T docbDefaultSAXHandlerInit@@LIBXML2_2.4.30
T initdocbDefaultSAXHandler@@LIBXML2_2.4.30
T xmlBufAddHead
T xmlBufErase
T xmlBufInflate
T xmlBufWriteCHAR
T xmlBufWriteChar
T xmlSAX2InitDocbDefaultSAXHandler@@LIBXML2_2.6.0
=============================================================

111 -> 10, but still some symbols are missing.

So xmlBufAddHead, xmlBufErase, xmlBufInflate, xmlBufInflate, xmlBufWriteChar are not shown in 2.9.14 headers file, so I guess no user for these symbols (functions) exists, just libxml2 "internal" symbols are exposed.


On the other hand, docbDefaultSAXHandlerInit, initdocbDefaultSAXHandler, xmlSAX2InitDocbDefaultSAXHandler are:
https://gitlab.gnome.org/GNOME/libxml2/-/blob/master/libxml2.syms
... so these symbols are __really__ removed. So I think in a strict sense, 2.10.x is ABI incompatible with 2.9.14.

Comment 4 Richard W.M. Jones 2022-11-03 16:07:43 UTC
Broken open-vm-tools: https://bugzilla.redhat.com/show_bug.cgi?id=2139849
Are we going to require that all dependent packages get rebuilt, or will
we enable FTP support again in libxml2?

Comment 5 Mamoru TASAKA 2022-11-03 16:20:47 UTC
(I am not a maintainer for libxml2, and am not familiar with libxml2 upstream policy but anyway speaking)

So if FTP related symbol erasion is the only problem, so perhaps simply adding --with-ftp for libxml2 is the best, I think.
But I am not confident about if that modification is really sufficient...
There are "really" removed symbols on 2.10.0 (as I wrote on comment 3).

Comment 6 Adam Williamson 2022-11-03 16:56:12 UTC
https://gitlab.gnome.org/GNOME/libxml2/-/commit/4a8c71eb7cc1c9001afaeefbd454f06f5fdaa046 removed the docbook stuff. The justification was "Because of a bug in commit 961b535c, DOCBparser.c was never compiled since 2012. I couldn't find a Debian package using any of its symbols, so it seems safe to remove this module."

The xmlBuf* functions were removed in https://gitlab.gnome.org/GNOME/libxml2/-/commit/fe9f76ebb8127e77cbbf25d9235ceb523d3a4a92 , claimed to be "unused".

Comment 7 Mamoru TASAKA 2022-11-03 17:01:59 UTC
Okay, then adding "--with-legacy --with-ftp --with-xptr-locs" in libxml2 2.10.0 spec file is perhaps the safe solution.

Comment 8 Adam Williamson 2022-11-03 17:13:15 UTC
I can do a build that way if we think it's the best idea. Still, this seems like something we should discuss with upstream? It doesn't seem good if the ABI changes without the soname changing if you compile it the same way as before, right?

Comment 9 Adam Williamson 2022-11-03 17:50:48 UTC
*** Bug 2138022 has been marked as a duplicate of this bug. ***

Comment 10 Fedora Update System 2022-11-03 17:56:04 UTC
FEDORA-2022-d7349a124a has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-d7349a124a

Comment 11 Adam Williamson 2022-11-03 17:57:19 UTC
Please try with -2 , I added the options suggested by mtasaka.

Comment 12 Dusty Mabe 2022-11-03 19:32:37 UTC
*** Bug 2139849 has been marked as a duplicate of this bug. ***

Comment 13 Fedora Update System 2022-11-04 11:47:46 UTC
FEDORA-2022-d7349a124a has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-d7349a124a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-d7349a124a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Daniel Berrangé 2022-11-04 12:32:38 UTC
(In reply to Adam Williamson from comment #8)
> I can do a build that way if we think it's the best idea. Still, this seems
> like something we should discuss with upstream? It doesn't seem good if the
> ABI changes without the soname changing if you compile it the same way as
> before, right?

Yes, this certainly needs to be reported upstream. A desire to be able to disable
features at build time is perfectly OK, but that should never be allowed to affect
the actual exported public APIs.  The public API / library ABI should be invariant
for any given release, regardless of build option selection. IOW, if FTP is disabled
at build time, leave the FTP APIs present in the library, but stub the API 
implementation so it reports an error when used at runtime.

Comment 15 Rex Dieter 2022-11-08 13:46:23 UTC
Curious, a GraphicsMagick update was pushed (not me) rebuilt against the libxml2 that removed symbols.  Is that GM rebuild still ok now, or does it need rebuilding again against the "fixed" libxml2?  (I'm guessing it's OK, but asking for clarification)

Comment 16 Adam Williamson 2022-11-08 16:03:54 UTC
As far as I understand things I think it should be okay. Easiest thing would be to test it, though...

Comment 17 Fedora Update System 2022-11-09 11:21:32 UTC
FEDORA-2022-d7349a124a has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.