LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Libreoffice Draw and Impress seem to need avahi (https://www.linuxquestions.org/questions/slackware-14/libreoffice-draw-and-impress-seem-to-need-avahi-4175647308/)

hazel 01-30-2019 12:00 PM

Libreoffice Draw and Impress seem to need avahi
 
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.

Alien Bob 01-30-2019 12:08 PM

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).

hazel 01-30-2019 03:05 PM

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.

Alien Bob 01-30-2019 04:12 PM

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.

philanc 01-30-2019 11:18 PM

Quote:

Originally Posted by hazel (Post 5955535)
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!)

aikempshall 01-31-2019 02:51 AM

According to SlackBuilds libreoffice now requires jdk and avahi. See https://slackbuilds.org/repository/1...e/libreoffice/

avahi is available for download from SlackBuilds.

I recently installed avahi on my system when I noted the dependancy.

I build avahi then libreoffice

I've not seen any problems, impress and draw both load cleanly.

hazel 01-31-2019 09:28 AM

Quote:

Originally Posted by Alien Bob (Post 5955628)
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

montagdude 01-31-2019 09:30 AM

Quote:

Originally Posted by hazel (Post 5955950)
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.

hazel 01-31-2019 11:11 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.

upnort 01-31-2019 11:48 AM

Quote:

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 topic was discussed last month. :)

hazel 01-31-2019 11:59 AM

I should have done a search before posting, shouldn't I! But I always forget.

upnort 01-31-2019 12:11 PM

Quote:

But I always forget.
Been there done that. :) People ask me if I believe in a here after.

"Oh yes!" I reply. "Every time I walk into a room I pause and ask myself, 'Now, what I am I here after?'" :D

kjhambrick 04-03-2022 05:25 AM

oops right post, wrong thread !

kjhambrick 04-03-2022 05:28 AM

Quote:

Originally Posted by philanc (Post 5955765)
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 :) ))

Thanks !

-- kjh

Cabbie001 12-07-2022 11:44 AM

Quote:

Originally Posted by kjhambrick (Post 6343570)
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 :) ))

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.


All times are GMT -5. The time now is 06:05 PM.