summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2023-05-26 09:13:04 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2024-02-22 21:08:01 +0100
commit9dc252ec50a6e9516424cfcd95386ce4363a40e7 (patch)
tree1e627bb7b82c151e55cddf3abea36870238f3d0a
parentExternalProject_libxml2 still needs to build the xmllint executable (diff)
downloadcore-9dc252ec50a6e9516424cfcd95386ce4363a40e7.tar.gz
core-9dc252ec50a6e9516424cfcd95386ce4363a40e7.zip
external/libxml2: Fix missing external symbols needed by xmllint
After 5b42f148e206cda19467e76c2f9915fc2b6fa5f6 "ExternalProject_libxml2 still needs to build the xmllint executable" (which I had happened to prepare on macOS, so didn't originally notice the issue addressed here now), Linux builds like <https://ci.libreoffice.org/job/lo_callgrind_linux/13374/> started to fail with > CCLD xmllint > /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: xmllint-xmllint.o: in function `testSAX': > /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/UnpackedTarball/libxml2/xmllint.c:1646: undefined reference to `xmlNewSAXParserCtxt' > /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: xmllint-xmllint.o: in function `myReallocFunc': > /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/UnpackedTarball/libxml2/xmllint.c:357: undefined reference to `xmlMemSize' > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:1007: xmllint] Error 1 > make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_callgrind_linux/external/libxml2/ExternalProject_libxml2.mk:37: /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/workdir/ExternalProject/libxml2/build] Error 1 Turns out that those two functions have been introduced after the previously used libxml2 2.10.4. No idea how things are supposed to work (given that workdir/UnpackedTarball/libxml2/libxml2.syms starts off with "Retained for backward compatibility. Don't add new symbols.", it appears that there should be some other mechanism at play to make xmllint on Linux find the libxml2.so symbols it needs, but which doesn't work as intended in our build), but just add those two symbols to libxml2.syms for now. (With a new version named LIBXML2_2.11.4, even if the symbols can actually have been introduced in some other version between 2.10.4 and 2.11.4, but who cares.) Change-Id: Ib9d5c7901fe94b8014a87b049fc27ef5658fd954 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152292 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 7d9b3393e2632247624d8a1e3129365290d1b60b)
-rw-r--r--external/libxml2/libxml2-global-symbols.patch8
1 files changed, 7 insertions, 1 deletions
diff --git a/external/libxml2/libxml2-global-symbols.patch b/external/libxml2/libxml2-global-symbols.patch
index cfec9c530281..cbbe5a622284 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -13,10 +13,16 @@
} LIBXML2_2.6.28;
LIBXML2_2.6.32 {
-@@ -2231,3 +2231,43 @@
+@@ -2231,3 +2231,49 @@
xmlPopOutputCallbacks;
} LIBXML2_2.9.8;
++LIBXML2_2.11.4 {
++ global:
++ xmlMemSize;
++ xmlNewSAXParserCtxt;
++} LIBXML2_2.9.11;
++
+# HACK: export global variable accessor functions (globals.h)
+LIBXML2_GLOBAL_VARIABLES {
+ global: