Bug 266262 - editors/libreoffice: 7.4.0.3 fails to start Draw, Impress
Summary: editors/libreoffice: 7.4.0.3 fails to start Draw, Impress
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Fernando Apesteguía
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-07 01:19 UTC by huanghwh
Modified: 2022-11-04 22:11 UTC (History)
14 users (show)

See Also:
fernape: maintainer-feedback? (office)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description huanghwh 2022-09-07 01:19:09 UTC
Impress/Draw will not start, Generates error

-- Component cannot be loaded, possibly broken or incomplete installation.

loading component library <file:///usr/local/lib/libreoffice/program/../program/libsdlo.so> failed。

related bug report:

https://bugs.documentfoundation.org/show_bug.cgi?id=119408
Comment 1 Graham Perrin freebsd_committer freebsd_triage 2022-09-07 02:58:23 UTC
Which version of FreeBSD, exactly?

Packages from latest, or quarterly?

Here, Draw and Impress do start. 

% pkg info -x avahi
avahi-0.8
avahi-app-0.8
avahi-autoipd-0.8
avahi-gtk3-0.8
avahi-header-0.8
avahi-libdns-0.8
% pkg info -x editors/libreoffice
libreoffice-7.4.0.3
% pkg -vv | grep -e url -e enabled -e priority
    url             : "pkg+http://pkg0.pkt.freebsd.org/FreeBSD:14:amd64/latest",
    enabled         : yes,
    priority        : 2,
    url             : "https://alpha.pkgbase.live/current/FreeBSD:14:amd64/latest",
    enabled         : no,
    priority        : 0,
    url             : "file:///usr/local/poudriere/data/packages/main-default",
    enabled         : yes,
    priority        : 3
% uname -aKU
FreeBSD mowa219-gjp4-8570p-freebsd 14.0-CURRENT FreeBSD 14.0-CURRENT #20 main-n257645-160a2f2cdda8: Mon Aug 29 00:44:34 BST 2022     grahamperrin@mowa219-gjp4-8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64 1400066 1400066
%
Comment 2 Rainer Hurling freebsd_committer freebsd_triage 2022-09-07 04:35:00 UTC
(In reply to Graham Perrin from comment #1)
For me it works after a rebuild of the avahi ports. Thanks for the pointer :)

This is on a recent HEAD (amd64) with ports build via portmaster.
Comment 3 huanghwh 2022-09-07 06:20:18 UTC
#  pkg info -x avahi
avahi-0.8
avahi-app-0.8
avahi-autoipd-0.8
avahi-gtk3-0.8
avahi-header-0.8
You have new mail.
# pkg info -x editors/libreoffice
libreoffice-7.4.0.3
zh_CN-libreoffice-7.4.0.3
# pkg -vv | grep -e url -e enabled -e priority
    url             : "pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/latest",
    enabled         : yes,
    priority        : 0,
# uname -aKU
FreeBSD mbp.gddsn.org.cn 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 GENERIC amd64 1301000 1301000
Comment 4 Roman 2022-09-07 09:59:52 UTC
Hello! I have the same problem. In my system i didn`t have the avahi and avahi-autopid ports. After instlling them, Impress and Draw still crash. Rebuilding the Avahi port didn`t help.

pkg info -x avahi
avahi-app-0.8
avahi-gtk3-0.8
avahi-header-0.8
avahi-libdns-0.8

pkg info -x editors/libreoffice
libreoffice-7.4.0.3

uname -a
FreeBSD vnflaptopmi.makmobile 13.1-RELEASE-p1 FreeBSD 13.1-RELEASE-p1 GENERIC amd64
Comment 5 russo 2022-09-12 22:21:37 UTC
I have the same problem on FreeBSD 12.3-STABLE stable/12-n234909-759880b587f, libreoffice installed from source through the ports manually (cd /usr/ports/editors/libreoffice; make install clean).  I am not using prebuilt packages at all on this system, everything is built from ports through source.

TL;DR:  Even though it is claimed that this is an issue about avahi not being installed, installing it and even rebuilding libreoffice doesn't fix the problem.


I had previously had only avahi-app installed, as I do not use its services for anything and that was the only thing that had gotten installed as a dependency for other tools (x11vnc, cups).  After reading here (and on multiple other sites that this was an avahi issue) I installed the full net/avahi metaport.  Simply installing these did not fix the problem and libreoffice continued to fail with the libsdlo.so issue.

# pkg info -x avahi
avahi-0.8
avahi-app-0.8
avahi-autoipd-0.8
avahi-gtk3-0.8
avahi-header-0.8

I then deleted libreoffice (pkg delete libreoffice) and reinstalled a fresh build of libreoffice from source, hoping that after doing so it would link avahi properly.  This was unsuccessful, as the resulting libreoffice install still failed with the libsdlo.so error.

> pkg info libreoffice
libreoffice-7.4.0.3_1
Name           : libreoffice
Version        : 7.4.0.3_1
Installed on   : Mon Sep 12 15:55:13 2022 MDT
Origin         : editors/libreoffice
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : editors
Licenses       : MPL20 or LGPL3+
Maintainer     : office@FreeBSD.org
WWW            : https://www.libreoffice.org/
Comment        : Full integrated office productivity suite
Options        :
        COINMP         : off
        CUPS           : on
        DOCS           : on
        GNOME          : off
        GTK3           : off
        GTK4           : off
        JAVA           : off
        KF5            : off
        LTO            : off
        MARIADB        : off
        MMEDIA         : off
        PDFIUM         : on
        PGSQL          : off
        QT5            : on
        SDK            : off
        TEST           : off
        WEBDAV         : off
Shared Libs required:
        libzmf-0.0.so.0
        libxslt.so.1
        libxmlsec1.so.1
        libxmlsec1-nss.so.1
        libxml2.so.2
        libxcb.so.1
        libxcb-icccm.so.4
        libwps-0.4.so.4
        libwpg-0.3.so.3
        libwpd-0.10.so.10
        libwebp.so.7
        libvisio-0.1.so.1
        libtiff.so.5
        libstaroffice-0.0.so.0
        libssl3.so
        libsmime3.so
        librevenge-stream-0.0.so.0
        librevenge-0.0.so.0
        librdf.so.0
        libraptor2.so.0
        libqxp-0.0.so.0
        libpoppler.so.124
        libpoppler-cpp.so.0
        libpng16.so.16
        libplds4.so
        libplc4.so
        libpagemaker-0.0.so.0
        liborcus-parser-0.17.so.0
        liborcus-0.17.so.0
        libopenjp2.so.7
        libodfgen-0.1.so.1
        libnumbertext-1.0.so.0
        libnssutil3.so

        libnss3.so
        libnspr4.so
        libmythes-1.2.so.0
        libmwaw-0.3.so.3
        libmspub-0.1.so.1
        libltdl.so.7
        liblpsolve55.so
        libldap_r-2.4.so.2
        liblcms2.so.2
        liblber-2.4.so.2
        liblangtag.so.1
        libjpeg.so.8
        libintl.so.8
        libicuuc.so.71
        libicui18n.so.71
        libhyphen.so.0
        libhunspell-1.7.so.0
        libharfbuzz.so.0
        libharfbuzz-icu.so.0
        libgraphite2.so.3
        libgobject-2.0.so.0
        libglib-2.0.so.0
        libfreetype.so.6
        libfreehand-0.1.so.1
        libfontconfig.so.1
        libexttextcat-2.0.so.0
        libexslt.so.0
        libexpat.so.1
        libetonyek-0.1.so.1
        libepubgen-0.1.so.1
        libepoxy.so.0
        libe-book-0.1.so.1
        libcurl.so.4
        libcups.so.2
        libcmis-0.5.so.5
        libclucene-shared.so.1
        libclucene-core.so.1
        libclucene-contribs-lib.so.1
        libcdr-0.1.so.1
        libcairo.so.2
        libbox2d.so.2
        libboost_locale.so.1.80.0
        libboost_iostreams.so.1.80.0
        libboost_filesystem.so.1.80.0
        libboost_date_time.so.1.80.0
        libabw-0.1.so.1
        libZXing.so.1
        libXrender.so.1
        libXrandr.so.2
        libXinerama.so.1
        libXext.so.6
        libX11.so.6
        libX11-xcb.so.1
        libSM.so.6
        libQt5X11Extras.so.5
        libQt5Widgets.so.5
        libQt5Network.so.5
        libQt5Gui.so.5
        libQt5Core.so.5
        libICE.so.6
Shared Libs provided:
        libuno_salhelpergcc3.so.3
        libuno_sal.so.3
        libuno_purpenvhelpergcc3.so.3
        libuno_cppuhelpergcc3.so.3
        libuno_cppu.so.3
Annotations    :
        FreeBSD_version: 1203506
        cpe            : cpe:2.3:a:libreoffice:libreoffice:7.4.0.3:::::freebsd12:x64:1
Comment 6 russo 2022-09-12 22:26:47 UTC
(In reply to russo from comment #5)
I should add that the file /usr/local/lib/libreoffice/program/libsdlo.so exists and shows it linked to avahi-client:
> ldd /usr/local/lib/libreoffice/program/libsdlo.so 
/usr/local/lib/libreoffice/program/libsdlo.so:
[...]
        libavahi-common.so.3 => /usr/local/lib/libavahi-common.so.3 (0x8091a2000)
        libavahi-client.so.3 => /usr/local/lib/libavahi-client.so.3 (0x8091b2000)
[...]
Comment 7 russo 2022-09-12 22:29:48 UTC
(In reply to russo from comment #6)
One more comment:  I saw that I didn't have avahi-libdns, as it conflicted with mDNSResponder (a requirement from another package I had installed and have now deinstalled).  Installing avahi-libdns did not fix the issue, but I have not rebuilt libreoffice again yet.  I am doing so.
Comment 8 russo 2022-09-13 00:25:31 UTC
(In reply to russo from comment #7)
Installing avahi-libdns and rebuilding/reinstalling libreoffice did not fix this problem for me, either.
Comment 9 Maksim E. Kozlov 2022-09-14 11:35:44 UTC
Hi. I have had the same problem and I have tried to resolve it exactly as russo described above (exclude that I have 13.1-RELEASE-p2). The result was exactly the same - without success. But eventually I resolved it... in non optimal way, to put it mildly. May be this info will be helpfull for the problem analising.

So, I rebuilt and reinstalled all  ports which provide libs from the list of:
> ldd /usr/local/lib/libreoffice/program/libsdlo.so
excluding libs provided by base system.

I did that offhand by "one line script":
# PORTS=$(ldd /usr/local/lib/libreoffice/program/libsdlo.so | awk '{print $3}' | while read line; do pkg which "$line" | awk '{printf $NF}'; echo " "; done); echo $PORTS | portmaster -dB $(sed -e 's/database//g')

In my case it was reinstalled 52 ports. Draw and Impress launch crrectly now.
Comment 10 Roman 2022-09-14 13:19:53 UTC
(In reply to Maksim E. Kozlov from comment #9)

I repeated what Maksim did, only changing his script a little. And it really helped.

Script:

# PORTS=$(ldd /usr/local/lib/libreoffice/program/libsdlo.so | awk '{print $3}' | while read line; do pkg which "$line" | awk '{printf $NF}'; echo " "; done); PKG=$(echo "$PORTS" | sed -e 's/database//g' | sort -u); pkg install -f $PKG

Packages that have been re-downloaded and reinstalled:
avahi-app-0.8 
boost-libs-1.80.0 
brotli-1.0.9,1 
cairo-1.17.4_1,3 
cups-2.4.2 
curl-7.85.0 
dbus-1.14.0,1 
expat-2.4.8 
fontconfig-2.14.0,1 
freetype2-2.12.1_2 
gettext-runtime-0.21 
glib-2.72.3,2 
gmp-6.2.1 
gnutls-3.7.7 
graphite2-1.3.14 
harfbuzz-5.1.0 
harfbuzz-icu-5.1.0 
icu-71.1,1 
jbigkit-2.1_1 
jpeg-turbo-2.1.4 
lcms2-2.13.1 
libdeflate-1.13 
libepoxy-1.5.9 
libffi-3.4.2 
libglvnd-1.4.0_2 
libiconv-1.17 
libidn2-2.3.3 
liblangtag-0.6.4 
libltdl-2.4.7 
libnghttp2-1.48.0 
liborcus-0.17.2_2 
libpsl-0.21.1_4 
libreoffice-7.4.0.3 
libssh2-1.10.0,3 
libtasn1-4.18.0 
libunistring-1.0 
libX11-1.7.2,1 
libXau-1.0.9 
libxcb-1.15 
libXdmcp-1.1.3 
libXext-1.3.4,1 
libxml2-2.10.2 
libXrender-0.9.10_2 
libxslt-1.1.37 
nettle-3.8.1 
nspr-4.34.1 
nss-3.82 
openjpeg-2.5.0 
p11-kit-0.24.1_1 
pcre-8.45_1 
pixman-0.40.0_1 
png-1.6.37_1 
tiff-4.4.0 
webp-1.2.4 
xmlsec1-1.2.34 
zstd-1.5.2_1 

Probably worth reinstalling one at a time to find the culprit.
Comment 11 Dima Panov freebsd_committer freebsd_triage 2022-09-14 15:36:11 UTC
This is a good example why we not recommend to build a huge projects like libreoffice in a dirty environment and suggest to use poudriere instead of ugly portmaster/portupgrade.
Comment 12 russo 2022-09-14 17:05:59 UTC
(In reply to Maksim E. Kozlov from comment #9)
Nice.  Well, not "nice", but I did the same thing and can confirm that libreoffice Impress works now.  Sometimes brute force is helpful.

I did not want to take the time to force reinstall each individually to spot the culprit, but I can say that it isn't boost-libs or liborcus --- portupgrade puked trying to uninstall boost-libs and therefore the mass-reinstall skipped both boost-libs and liborcus.  Libreoffice Impress worked anyway.  So it's one of the other 51 packages that just needed rebuilding.

I don't care which one.  I have a working Libreoffice now.  

Thank you for the suggestion of doing that.
Comment 13 Fernando Apesteguía freebsd_committer freebsd_triage 2022-09-15 06:59:01 UTC
Happy to see you have a working Libreoffice now.

Can we close this PR, then?
Comment 14 Roman 2022-09-15 08:08:41 UTC
(In reply to Dima Panov from comment #11)

I don't use ports build, I use prebuilt binary packages. And only reinstalling 52 packages solved the problem. The problem is also observed in the binary package in the repository.
Comment 15 huanghwh 2022-09-18 09:13:01 UTC
(In reply to Roman from comment #10)
This fixed for me, thaks!
Comment 16 Fernando Apesteguía freebsd_committer freebsd_triage 2022-09-18 15:35:24 UTC
^Triage: PRs should have an assignee (real person) when closing. Assigning to myself (bug triage team member).
Comment 17 Kevin Zheng 2022-09-22 18:32:25 UTC
This happened to me with FreeBSD 13.1-RELEASE-p1 GENERIC amd64 and official latest binary packages.

I solved this by `pkg delete libreoffice && pkg autoremove && pkg install libreoffice`, which removed and re-installed whichever library was being problematic.
Comment 18 lumiwa 2022-09-22 22:34:38 UTC
(In reply to Kevin Zheng from comment #17)
`pkg delete libreoffice && pkg autoremove && pkg install libreoffice` doesn't work on my system: FreeBSD 13.1-RELEASE-p2.
It install 24 packages including Libreoofice 7.4.1.2.

Thank you.
Comment 19 Ivan Rozhuk 2022-09-23 16:53:26 UTC
pkg delete libreoffice && pkg autoremove -y && make -C /usr/ports/editors/libreoffice install

work for me.
Comment 20 Kevin Zheng 2022-09-23 17:30:07 UTC
(In reply to Kevin Zheng from comment #17)
Just to be clear, this probably won't work for everyone. The reason is that you might have other packages that depend on the problematic package, and so it doesn't get force reinstalled. For that, you'll have to reinstall *all* of the libraries that Libreoffice depends on.

Of course, it would be best if Someone(TM) could find out which shared library has been the one that's problematic, and ask for a PORTREVISION bump on that package.
Comment 21 lumiwa 2022-09-24 22:40:21 UTC
pkg update -f solved the problem.
Comment 22 Gregor M. 2022-10-18 12:01:23 UTC
After reinstalling "xmlsec1" it worked for me.

I went through the package list Roman has sent step by step and only after reinstalling this package libreoffice draw would start.
Comment 23 Thierry Thomas freebsd_committer freebsd_triage 2022-10-28 08:27:04 UTC
(In reply to Gregor M. from comment #22)
I can confirm: on a machine where everything has been installed from packages, libreoffice failed with the reported error on /usr/local/lib/libreoffice/program/../program/libsdlo.so, and rebuilding xmlsec1-1.2.34 from ports fixed it.
Comment 24 commit-hook freebsd_committer freebsd_triage 2022-11-04 15:08:52 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=efe501e4d54986b53bfc8bcb7d8dcb9bb027a921

commit efe501e4d54986b53bfc8bcb7d8dcb9bb027a921
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2022-11-04 15:03:28 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2022-11-04 15:03:28 +0000

    security/xmlsec1: bump PORTREVISION to ensure end-users got a latest binary (+)

    At least libreoffice users cannot use some suite components due to
    package built against latest patched ABI while pkg keept a previous
    package on client side.

    PR:     266262, 266920

    With hat:       ports-secteam

 security/xmlsec1/Makefile | 1 +
 1 file changed, 1 insertion(+)
Comment 25 commit-hook freebsd_committer freebsd_triage 2022-11-04 15:11:00 UTC
A commit in branch 2022Q4 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b6027649c6a60828d1b967ef97e5d8987c821a39

commit b6027649c6a60828d1b967ef97e5d8987c821a39
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2022-11-04 15:03:28 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2022-11-04 15:10:17 +0000

    security/xmlsec1: bump PORTREVISION to ensure end-users got a latest binary (+)

    At least libreoffice users cannot use some suite components due to
    package built against latest patched ABI while pkg keept a previous
    package on client side.

    PR:     266262, 266920

    With hat:       ports-secteam

    (cherry picked from commit efe501e4d54986b53bfc8bcb7d8dcb9bb027a921)

 security/xmlsec1/Makefile | 1 +
 1 file changed, 1 insertion(+)