I tried to build libreoffice/online:master docker image on Ubuntu 18.04 with the script https://opengrok.libreoffice.org/xref/online/docker/l10n-docker-nightly.sh The container did not start successfully: frk-00027-00027 2018-12-06 22:56:50.167106 [ forkit ] FTL Failed to load /opt/libreoffice/program/libmergedlo.so: libpixman-1.so.0: cannot open shared object file: No such file or directory| kit/Kit.cpp:2601 frk-00027-00027 2018-12-06 22:56:50.167374 [ forkit ] FTL Failed to preinit lokit.| kit/ForKit.cpp:534 So libpixman-1.so.0 is missing. collabora@ubuntu1804:~/online/docker$ ldd instdir/opt/libreoffice/program/libmergedlo.so | grep pixman libpixman-1.so.0 => /home/collabora/online/docker/builddir/libreoffice/workdir/UnpackedTarball/pixman/pixman/.libs/libpixman-1.so.0 (0x00007f392aa8d000) It does not link to the libpixman-1.so.0 in instdir! I had to hotfix this with the following patch: diff --git a/docker/l10n-docker-nightly.sh b/docker/l10n-docker-nightly.sh index 9e91f98..59ce780 100755 --- a/docker/l10n-docker-nightly.sh +++ b/docker/l10n-docker-nightly.sh @@ -114,6 +114,9 @@ EOF mkdir -p "$INSTDIR"/opt/ cp -a libreoffice/instdir "$INSTDIR"/opt/libreoffice +# FIXME fix RPATH of libcairo +chrpath -r '$ORIGIN' "$INSTDIR"/opt/libreoffice/program/libcairo.so.2 + ##### loolwsd & loleaflet ##### # build I think RPATH of libcairo.so.2 should be set properly by the build system. Interestingly, I had this bug only on Ubuntu 18.04, for example on OpenSUSE LEAP 15, the bug does not occur, although RPATH of libcairo.so.2 is still wrong.
build failure with current master, --without-system-cairo /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libxcb-shm.so.0 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libxcb.so.1 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libxcb-render.so.0 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libXrender.so.1 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libX11.so.6 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has suspicious NEEDED: libXext.so.6 /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has unexpected RPATH 0x000000000000001d (RUNPATH) Library runpath: [/home/timar/libreoffice-master/workdir/UnpackedTarball/pixman/pixman/.libs] make[1]: *** [/home/timar/libreoffice-master/postprocess/CustomTarget_check_dynamic_objects.mk:22: /home/timar/libreoffice-master/workdir/CustomTarget/postprocess/check_dynamic_objects/check.done] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:282: build] Error 2
this is the problem: /home/timar/libreoffice-master/instdir/program/libcairo.so.2 has unexpected RPATH 0x000000000000001d (RUNPATH) Library runpath: [/home/timar/libreoffice-master/workdir/UnpackedTarball/pixman/pixman/.libs] it should be [$ORIGIN] instead various externals already coerce libtool with varying amounts of violence to fix the RPATH, seems it's missing for cairo. the other warnings can be fixed by adding a whitelist for cairo.so to the check-elf-objects script.
Michael Stahl committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/+/bb9c07b82f4921941112de7e545af13a24b37f5d%5E%21 tdf#121983 cairo: fix RPATH to contain $ORIGIN, not libtool's nonsense It will be available in 6.4.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Stahl committed a patch related to this issue. It has been pushed to "libreoffice-6-3": https://git.libreoffice.org/core/+/5008b491c1b44714bfd9a07ac6f711a24e726fb5%5E%21 tdf#121983 cairo: fix RPATH to contain $ORIGIN, not libtool's nonsense It will be available in 6.3.2. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Andras Timar committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/+/4c16f79b30ff3e015c706e0563faf6cf2931e1a6%5E%21 tdf#121983 add whitelist for libcairo.so.2 It will be available in 6.4.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Andras Timar committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/online/+/becb72a6a978048afaaae51869502f6d11d45aae%5E%21 tdf#121983 is fixed, remove the hack here
Michael Stahl committed a patch related to this issue. It has been pushed to "libreoffice-6-2": https://git.libreoffice.org/core/+/89885b911fe342291e562f1c4293314b90ea8281%5E%21 tdf#121983 cairo: fix RPATH to contain $ORIGIN, not libtool's nonsense It will be available in 6.2.8. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
hope we can call this fixed now, havent tested it but it ought to work...