Michael J Gruber wrote on 2022/10/29 5:19:
With this libxml2 update:
```
gm convert -list format
...
gm convert: Unable to load module
("/usr/lib64/GraphicsMagick-1.3.38/modules-Q16/coders/url.la: file not found")
```
In fact, `url.so` is there but cannot be dlopen'ed. This works after downgrading
libxml2 to 2.9.
I noticed because my scribus failed to start today, and this was somehow tough to track
down.
I still don't know whether libxml2 had an abi change without soname bump and whether
a simple rebuild of GM would solve this (in particular, which one to file a big against).
But since it was diificult to spot and more packages could be broken (without a clear
FTI/FTBFS) I wanted to give a heads up here.
Confirmed, as I've noticed that now rubygem-rmagick is now FTBFS.
So I tried narrowing the issue and the minimum reproducer is:
$ ldd -r /usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so | grep undefined
undefined symbol: xmlNanoFTPInit, version
LIBXML2_2.4.30 (/usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so)
undefined symbol: xmlNanoFTPClose, version
LIBXML2_2.4.30 (/usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so)
undefined symbol: xmlNanoFTPGet, version
LIBXML2_2.4.30 (/usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so)
undefined symbol: xmlNanoFTPNewCtxt, version
LIBXML2_2.4.30 (/usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so)
undefined symbol: xmlNanoFTPConnect, version
LIBXML2_2.4.30 (/usr/lib64/ImageMagick-6.9.12/modules-Q16/coders/url.so)
(i.e. ImageMagick is now broken)
This is perhaps due to the following change:
https://gitlab.gnome.org/GNOME/libxml2/-/commit/a0a0f3be93753e387e31e7de9...
... and in fact lots of other symbols are also removed...
$ rpmsodiff libxml2-2.9.14-3.fc37.x86_64.rpm libxml2-2.10.3-1.fc37.x86_64.rpm | grep
"^-"
--- libxml2-2.9.14-3.fc37/libxml2.so.2 2022-07-22 05:06:27.000000000 +0900
-__docbDefaultSAXHandler T
-attribute@(a)LIBXML2_2.4.30 T
-attributeDecl@(a)LIBXML2_2.4.30 T
-cdataBlock@(a)LIBXML2_2.4.30 T
-characters@(a)LIBXML2_2.4.30 T
-checkNamespace@(a)LIBXML2_2.4.30 T
-comment@(a)LIBXML2_2.4.30 T
-docbDefaultSAXHandler@(a)LIBXML2_2.4.30 D
-docbDefaultSAXHandlerInit@(a)LIBXML2_2.4.30 T
-elementDecl@(a)LIBXML2_2.4.30 T
-endDocument@(a)LIBXML2_2.4.30 T
-endElement@(a)LIBXML2_2.4.30 T
-entityDecl@(a)LIBXML2_2.4.30 T
-externalSubset@(a)LIBXML2_2.4.30 T
-getColumnNumber@(a)LIBXML2_2.4.30 T
-getEntity@(a)LIBXML2_2.4.30 T
-getLineNumber@(a)LIBXML2_2.4.30 T
-getNamespace@(a)LIBXML2_2.4.30 T
-getParameterEntity@(a)LIBXML2_2.4.30 T
-getPublicId@(a)LIBXML2_2.4.30 T
-getSystemId@(a)LIBXML2_2.4.30 T
-globalNamespace@(a)LIBXML2_2.4.30 T
-hasExternalSubset@(a)LIBXML2_2.4.30 T
-hasInternalSubset@(a)LIBXML2_2.4.30 T
-htmlDecodeEntities T
-ignorableWhitespace@(a)LIBXML2_2.4.30 T
-initdocbDefaultSAXHandler@(a)LIBXML2_2.4.30 T
-inithtmlDefaultSAXHandler@(a)LIBXML2_2.4.30 T
-initxmlDefaultSAXHandler@(a)LIBXML2_2.4.30 T
-internalSubset@(a)LIBXML2_2.4.30 T
-isStandalone@(a)LIBXML2_2.4.30 T
-namespaceDecl@(a)LIBXML2_2.4.30 T
-notationDecl@(a)LIBXML2_2.4.30 T
-processingInstruction@(a)LIBXML2_2.4.30 T
-reference@(a)LIBXML2_2.4.30 T
-resolveEntity@(a)LIBXML2_2.4.30 T
-setDocumentLocator@(a)LIBXML2_2.4.30 T
-setNamespace@(a)LIBXML2_2.4.30 T
-startDocument@(a)LIBXML2_2.4.30 T
-startElement@(a)LIBXML2_2.4.30 T
-unparsedEntityDecl@(a)LIBXML2_2.4.30 T
-xmlBufAddHead T
-xmlBufErase T
-xmlBufInflate T
-xmlBufWriteCHAR T
-xmlBufWriteChar T
-xmlCleanupPredefinedEntities@(a)LIBXML2_2.4.30 T
-xmlDecodeEntities@(a)LIBXML2_2.4.30 T
-xmlEncodeEntities@(a)LIBXML2_2.4.30 T
-xmlGetFeature@(a)LIBXML2_2.4.30 T
-xmlGetFeaturesList@(a)LIBXML2_2.4.30 T
-xmlHandleEntity@(a)LIBXML2_2.4.30 T
-xmlIOFTPClose@(a)LIBXML2_2.4.30 T
-xmlIOFTPMatch@(a)LIBXML2_2.4.30 T
-xmlIOFTPOpen@(a)LIBXML2_2.4.30 T
-xmlIOFTPRead@(a)LIBXML2_2.4.30 T
-xmlInitializePredefinedEntities@(a)LIBXML2_2.4.30 T
-xmlNamespaceParseNCName@(a)LIBXML2_2.4.30 T
-xmlNamespaceParseNSDef@(a)LIBXML2_2.4.30 T
-xmlNamespaceParseQName@(a)LIBXML2_2.4.30 T
-xmlNanoFTPCheckResponse@(a)LIBXML2_2.4.30 T
-xmlNanoFTPCleanup@(a)LIBXML2_2.4.30 T
-xmlNanoFTPClose@(a)LIBXML2_2.4.30 T
-xmlNanoFTPCloseConnection@(a)LIBXML2_2.4.30 T
-xmlNanoFTPConnect@(a)LIBXML2_2.4.30 T
-xmlNanoFTPConnectTo@(a)LIBXML2_2.4.30 T
-xmlNanoFTPCwd@(a)LIBXML2_2.4.30 T
-xmlNanoFTPDele@(a)LIBXML2_2.5.5 T
-xmlNanoFTPFreeCtxt@(a)LIBXML2_2.4.30 T
-xmlNanoFTPGet@(a)LIBXML2_2.4.30 T
-xmlNanoFTPGetConnection@(a)LIBXML2_2.4.30 T
-xmlNanoFTPGetResponse@(a)LIBXML2_2.4.30 T
-xmlNanoFTPGetSocket@(a)LIBXML2_2.4.30 T
-xmlNanoFTPInit@(a)LIBXML2_2.4.30 T
-xmlNanoFTPList@(a)LIBXML2_2.4.30 T
-xmlNanoFTPNewCtxt@(a)LIBXML2_2.4.30 T
-xmlNanoFTPOpen@(a)LIBXML2_2.4.30 T
-xmlNanoFTPProxy@(a)LIBXML2_2.4.30 T
-xmlNanoFTPQuit@(a)LIBXML2_2.4.30 T
-xmlNanoFTPRead@(a)LIBXML2_2.4.30 T
-xmlNanoFTPScanProxy@(a)LIBXML2_2.4.30 T
-xmlNanoFTPUpdateURL@(a)LIBXML2_2.4.30 T
-xmlNewGlobalNs@(a)LIBXML2_2.4.30 T
-xmlParseNamespace@(a)LIBXML2_2.4.30 T
-xmlParseQuotedString@(a)LIBXML2_2.4.30 T
-xmlParserHandleReference@(a)LIBXML2_2.4.30 T
-xmlSAX2InitDocbDefaultSAXHandler@(a)LIBXML2_2.6.0 T
-xmlScanName@(a)LIBXML2_2.4.30 T
-xmlSetEntityReferenceFunc@(a)LIBXML2_2.4.30 T
-xmlSetFeature@(a)LIBXML2_2.4.30 T
-xmlUpgradeOldNs T
-xmlXPtrAdvanceNode T
-xmlXPtrBuildNodeList@(a)LIBXML2_2.4.30 T
-xmlXPtrEvalRangePredicate@(a)LIBXML2_2.4.30 T
-xmlXPtrFreeLocationSet@(a)LIBXML2_2.4.30 T
-xmlXPtrLocationSetAdd@(a)LIBXML2_2.4.30 T
-xmlXPtrLocationSetCreate@(a)LIBXML2_2.4.30 T
-xmlXPtrLocationSetDel@(a)LIBXML2_2.4.30 T
-xmlXPtrLocationSetMerge@(a)LIBXML2_2.4.30 T
-xmlXPtrLocationSetRemove@(a)LIBXML2_2.4.30 T
-xmlXPtrNewCollapsedRange@(a)LIBXML2_2.4.30 T
-xmlXPtrNewLocationSetNodeSet@(a)LIBXML2_2.4.30 T
-xmlXPtrNewLocationSetNodes@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRange@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRangeNodeObject@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRangeNodePoint@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRangeNodes@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRangePointNode@(a)LIBXML2_2.4.30 T
-xmlXPtrNewRangePoints@(a)LIBXML2_2.4.30 T
-xmlXPtrRangeToFunction@(a)LIBXML2_2.4.30 T
-xmlXPtrWrapLocationSet@(a)LIBXML2_2.4.30 T
I think libxml2 2.10.x (with current configuration) should not have brought into
F37/36/35 branches. Currently at least the following action is required.
* Either rebuilding all packages requiring the above symbol
* Or fixing libxml2 2.10.x
* Or introduce epoch on libxml2 and downgrade to 2.9.x
Regards,
Mamoru