[SOLVED] Libreoffice Draw and Impress seem to need avahi
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
All other LO components work, but Draw and Impress (which is closely related to Draw) do not. In the case of Draw, I get the message "loading component library <file:///usr/lib/libreoffice/program/../program/libsdlo.so> failed". Impress fails silently when called from the LO launcher but crashes LO when called from the New Presentation button.
The library libsdlo.so is present but cannot link to two avahi libraries which are not present in standard Slackware (though there is a slackbuild for avahi). I can understand why Pat doesn't want to include it; it's one of those bits of bumf that Poettering invented.
This reported bug from an Arch user gives more detail. The suggestion there is to build LO with avahi disabled.
Well that's the expected behaviour when you install the binaries compiled by the Document Foundation - they do not use Slackware.
You can use my pre-built Slackware packages (built on Slackware, no need for any other package) or compile LibreOffice from source yourself (requires 10s of GB of RAM and 100s of GB of temporary storage as well as a lot of time to compile errorfree).
Unfortunately your version does not run at all on my system! It fails with the message
Code:
terminate called after throwing an instance of 'com::sun::star::uno::DeploymentException'
Fatal exception: Signal 6
Stack:
/usr/lib64/libreoffice/program/libuno_sal.so.3(+0x5752e)[0x7fb18ba8952e]
/usr/lib64/libreoffice/program/libuno_sal.so.3(+0x57756)[0x7fb18ba89756]
/usr/lib64/libreoffice/program/libuno_sal.so.3(+0x578f4)[0x7fb18ba898f4]
..........................
I gather signal 6 is SIGABRT, a deliberate abort by a library that has detected an internal error.
Hazel try if this helps: edit the profile script “/etc/profile.d/libreoffice.sh” and un-comment the line “export SAL_USE_VCLPLUGIN=gtk3” to force LibreOffice to use GTK+3 as the widget set. Then logout/login again and start LibreOffice.
All other LO components work, but Draw and Impress (which is closely related to Draw) do not. In the case of Draw, I get the message "loading component library <file:///usr/lib/libreoffice/program/../program/libsdlo.so> failed". Impress fails silently when called from the LO launcher but crashes LO when called from the New Presentation button.
The library libsdlo.so is present but cannot link to two avahi libraries which are not present in standard Slackware
I have installed the stock libreoffice-6.1 from libreoffice.org.
The two missing libraries are libavahi-client.so.3 and libavahi-common.so.3
I just built two dummy/empty libraries with these names:
Code:
gcc -shared -o libavahi-client.so.3 -x c - < /dev/null
gcc -shared -o libavahi-common.so.3 -x c - < /dev/null
and moved them in the libreoffice 'program/' directory.
Not very clean, but it does the job!
(Note: the two libs are used by LO impress to handle a remote control during a presentation. Of course the remote control interface doesn't work with my dummy libs!)
Hazel try if this helps: edit the profile script “/etc/profile.d/libreoffice.sh” and un-comment the line “export SAL_USE_VCLPLUGIN=gtk3” to force LibreOffice to use GTK+3 as the widget set. Then logout/login again and start LibreOffice.
No, that didn't do it. Not even when I rebooted (though I can confirm that the SAL_USE_VCLPLUGIN is set correctly).
My plan now is to reinstall the standard slackbuild version, then build avahi from its slackbuild, explode the package and copy over the two requested libraries. But I'd like to avoid having to download the whole thing again. That takes ages and eats into my monthly data allowance.
In my /tmp/SBo directory, I have a directory called package-libreoffice which seems to contain what I want. Could I tar it up into an installable package?
I was thinking of something like
Code:
tar -cJf libreoffice-6.1.4-x86_64-1_SBo.txz /tmp/SBo/package-libreoffice
In my /tmp/SBo directory, I have a directory called package-libreoffice which seems to contain what I want. Could I tar it up into an installable package?
I was thinking of something like
Code:
tar -cJf libreoffice-6.1.4-x86_64-1_SBo.txz /tmp/SBo/package-libreoffice
You would want to use makepkg instead. Take a look at the last line of the libreoffice SlackBuild for the proper way to do it.
PS philanc's solution seems good if you don't care about the lost functionality and you don't want to actually download/build avahi.
Last edited by montagdude; 01-31-2019 at 09:31 AM.
Great! Everything now works. I must say those dummy libraries are a clever wheeze. I would never have thought of that. Thanks philanc! And thank you Eric and MontagDude too.
Incidentally it's quite nice that Slackware has its /tmp on the root partition and not as a tmpfs. But it means I'll have to keep an eye on it and clean it up from time to time.
In the case of Draw, I get the message "loading component library <file:///usr/lib/libreoffice/program/../program/libsdlo.so> failed". Impress fails silently when called from the LO launcher but crashes LO when called from the New Presentation button.
I have installed the stock libreoffice-6.1 from libreoffice.org.
The two missing libraries are libavahi-client.so.3 and libavahi-common.so.3
I just built two dummy/empty libraries with these names:
Code:
gcc -shared -o libavahi-client.so.3 -x c - < /dev/null
gcc -shared -o libavahi-common.so.3 -x c - < /dev/null
and moved them in the libreoffice 'program/' directory.
Not very clean, but it does the job!
(Note: the two libs are used by LO impress to handle a remote control during a presentation. Of course the remote control interface doesn't work with my dummy libs!)
OMG ! You're a genius, philanc
I will try to keep this workaround in my bag of tricks ( if only I can remember it when I need it ( with apologies to hazel ))
I will try to keep this workaround in my bag of tricks ( if only I can remember it when I need it ( with apologies to hazel ))
Thanks !
-- kjh
Hello people. I've been struggling with this LibreOffice Impress failure for some time and only recently stumbled upon this article from Linux Journal: https://www.linuxjournal.com/content...e-slackware-15
Aside from describing the same LibreOffice install method I've been using (wholesale conversion of the RPM files to tgz, then pkginstall of each tgz), he then points out the subsequent failure of Draw & Impress are due to the absence of Avahi & libdaemon. He describes compiling both libdaemon & avahi from source, but as we know there is a SlackBuild for avahi now. Note that libdaemon installs in /usr/local/lib and the PKG_CONFIG_PATH variable needs to be updated to reflect that in order for the avahi compile to complete.
Outcome: SUCCESS! LibreOffice now opens powerpoint (.pps) files just fine.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.