Skip to content

Conversation

@pmenzel
Copy link
Collaborator

No description provided.

Since libxml2 2.15.3 (soname libxml2.so.16) is installed, the system
libxslt, built in 2021 against libxml2 2.9.12, still needs the old soname,
now provided by libxml2_compat. Linking anything with `-lxslt -lxml2`
therefore pulls in both libxml2 versions, and the linker warns:

    $ cat t.c
    #include <libxslt/xslt.h>
    #include <libxml/parser.h>
    int main(void) { xmlInitParser(); return xsltLibxsltVersion == 0; }
    $ gcc t.c -o t $(pkg-config --cflags libxml-2.0) -lxslt -lxml2
    /usr/lib/gcc/x86_64-pc-linux-gnu/12.5.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libxml2.so.2, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/12.5.0/../../../../lib64/libxslt.so, may conflict with libxml2.so.16

Two copies of libxml2 in one process have separate global state (parser
initialization, error handlers, dictionaries), so this is more than
cosmetic.

Rebuild libxslt against libxml2 2.15 and update it to the latest upstream
release while at it; 1.1.45 requires libxml2 >= 2.15.1. libxslt.so.1,
libexslt.so.0 and xsltproc now link libxml2.so.16 only, and the warning is
gone.

The tarball now also ships a CMakeLists.txt, which bee prefers over
autotools, so bee_configure failed with:

    CMake Error: Unknown argument --without-python

Set BEE_BUILDTYPE=autotools like libxml2.be0 does.

Upstream changed some defaults since 1.1.34, and the recipe follows them:

- The non-standard EXSLT crypto extensions are off (since 1.1.35), so
  exsltCryptoRegister is gone and libexslt no longer links libgcrypt.
- The debugger hooks (xsltSetDebuggerCallbacks, xslHandleDebugger, ...)
  are only built with --with-debugger=yes.
- Static libraries are no longer built (LT_INIT([disable-static])), which
  matches libxml2 2.15.3 not shipping libxml2.a either.

No installed binary under /usr/{bin,sbin,lib,libexec} references any of
the removed symbols. libxslt’s sonames are unchanged.

Assisted-by: claude-opus-5.5 (Claude Code)
@pmenzel Paul Menzel (pmenzel) merged commit d5e1864 into master Oct 7, 2026
@pmenzel Paul Menzel (pmenzel) deleted the update-libxslt-from-1.1.34-to-1.1.45 branch October 7, 2026 17:59
Sign in to join this conversation on GitHub.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant