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

Reply via email to