Hi Tim! On Sun, 14 Nov 2021 15:12:52 -0600 (CST) Tim Mooney via xml <xml@gnome.org> wrote:
> Hi! > > This is my first post to the xml mailing list. I spent some time looking > through the mailing list archives, but couldn't find an answer to my > question. If I somehow missed relevant discussion, please point me at > it. > > When libxml2 2.9.10 was released, a number of formerly-public symbols > were removed from the shared library. On the surface, that seems like > it would be an ABI break, which might suggest a change in the SONAME of > the library (such as a version bump from .2 to .3). That didn't happen, > though. > Reading the code, I see: ``` if test "$with_regexps" = "no" ; then echo Disabling Regexps support WITH_REGEXPS=0 TEST_REGEXPS= else WITH_REGEXPS=1 TEST_REGEXPS="Regexptests Automatatests" fi AC_SUBST(WITH_REGEXPS) AC_SUBST(TEST_REGEXPS) ``` Did you try --with-regexps? > I see from libxml2's "syms" file the comment that the soname never > changes, but it's not clear to me how the symbol versioning helps with > ABI compatibility when symbols are removed. > > For example, if I compile a binary and link it against the 2.9.7+patches > libxml2 on Red Hat Enterprise Linux 8, and then copy that binary to a > RHEL 9 beta system, which will presumably include 2.9.12, won't that > binary execute for a while but then crash if it tries to access one of > the removed xmlExp* symbols? > > I'm asking mainly because I'm one of the volunteers that contributes > package updates to OpenIndiana, one of the Illumos distros that came out > of the former OpenSolaris project. We're currently shipping libxml2 2.9.9 > with a bunch of patches, but we would like to update to current. The > ABI change has me wondering how involved that process is going to be. > > Thanks! > > PS: All of the removed symbols and interfaces are still documented on your > web site, with no mention of deprecation or removal. > > Tim -- Shlomi Fish https://www.shlomifish.org/ Chuck Norris/etc. Facts - https://www.shlomifish.org/humour/bits/facts/ Java is a DSL (= Domain Specific Language) to transform big XML documents into long exception stack traces. — Scott Bellware Please reply to list if it's a mailing list post - https://shlom.in/reply . _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml