LibreOffice on Solaris 11

  • Posted on: 27 December 2017
  • By: tomww

Update: This is a historic atricle -> LibreOffice package is upgraded to version 5.x

LibreOffice 4 is now available for Solaris 11

Requirements:
- Have Solaris 11.3 installed or upgrade to it, then do "pfexec pkg install -v libreoffice4-desktop-int" and wait a moment until you get the Gnome menu entries for "LO".
- OTN Users of S11.2 GA (no extra SRU!) need to wait or better upgrade to S11.3 - you *really* want to upgrade (think openssl!)
- SPARC users unfortunatly wait a lot longer, as I have no suitable SPARC LDOM / NGZ in sight. Donate one?

Known issues:

[solved - run pkg update -v -g 'http://sfe.opencsw.org/localhosts11' ] - gnome-terminal / libvte unfortunalty searches in /usr/gnu/lib for libcairo, that finds *our* updated libcairo and this makes gnome-terminal core-dump (see comments for one type of a temp workaround). Interim solution would be to run it with LD_LIBRARY_PATH=/usr/lib gnome-terminal

To configure the necessary IPS publisher, go to "Quicklinks to repositories" in the top right corner of the page. Then use "pfexec pkg install libreoffice4.

Currently this set of LibreOffice4 packages is compiled and uploaded for Solaris 11.3, Solaris 11.2 should follow soon. Please drop me a note/comment, if you are waiting on a 11.1 or 11.2 version!

Any questions, comments or any other warm words for the team (!) - please register a user, approve the link in the email and then comment on this blog.

Or just blog yourself and tweet about it! The team who was working to get this nice LO package available likes you to talk about LibreOffice on Solaris!

Regards
Thomas

article history: published/edited on 2016-01-17 16:55:00

Comments

Is it still for 11.2 only?

Reject: pkg://localhosts11/desktop/application/libreoffice4-desktop-int@4.4.5.2-0.0.175.2.12.0.3.0
pkg://localhosts11/desktop/application/libreoffice4-desktop-int@4.4.5.2-0.0.175.2.12.0.3.0
Reason: No version matching 'require' dependency desktop/application/libreoffice4 can be installed

# pkg info entire
Name: entire
Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.3.2.4.0).
Description: This package constrains system package versions to the same
build. WARNING: Proper system update and correct package
selection depend on the presence of this incorporation.
Removing this package will result in an unsupported system. For
more information see:
https://support.oracle.com/rs?type=doc&id=2045311.1
Category: Meta Packages/Incorporations
State: Installed
Publisher: solaris
Version: 0.5.11 (Oracle Solaris 11.3.2.4.0)
Build Release: 5.11
Branch: 0.175.3.2.0.4.0
Packaging Date: November 3, 2015 11:50:40 PM
Size: 5.46 kB
FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.2.0.4.0:20151103T235040Z

Hi Chuck,

it is called Solaris 11.3 only. To be exact, it is S11.2 SRU12 and above, naturally including S11.3.
And your pkg info entire shows S11.3, that is good.
The reason for rejecting must be in some of the other package dependencies.
Could you pastebin, email or copy into a comment the complete output of "pkg install -v libreoffice4" please?
And please add pkg publisher as well.

Usually in one or two more iterations of explicitly asking "pkg install -v *dependency*" one can see which of the other packages makes the troubles.

Regards,
Thomas

Hi, Tom.
Sorry for the delay in replying. I do not know anymore how I've got "Reason: No version matching 'require' dependency desktop/application/libreoffice4 can be installed", but now I have conflict with "gcc" installed from "solaris" publisher :

http://pastebin.com/8AgwjsGv

Hi Chuck,

thanks much for the pastebin. I did a quick verify, all the files in conflict aren't needed for the programs in Solaris 11 which base on the gcc runtime built by Oracle. The files are alltogether dedicated to the compiler package gcc on Solaris.
So if you don't badly need the Oracle built gcc compiler packages, then you uninstall them like this:

pfexec pkg uninstall developer/gcc-4/gcc-common-48 system/library/gcc/gcc-c-runtime-48 system/library/gcc/gcc-c++-runtime-48 system/library/gcc/gcc-gfortran-runtime-48 system/library/gcc/gcc-gobjc-runtime-48

That way you keep the Oracle built gcc runtime located in /usr/lib (no conflicts with SFE there, SFE has measures to avoid this) but remove the Oracle gcc compiler. You still can use the SFE gcc runtime or the complete SFE gcc compiler.

After that uninstall, you should see no more conflicts with SFE. If you still see ones with "gcc" and the packages starting with FMRI "pkg://solaris/....", then try uninstalling them as well. If there is *no* package requiring them, "pkg" will just uninstall them. So nothing gets broken in accident.

After the cleanup of the compiler packages (while oracle gcc runtime in /usr/lib still remains), you should see a seamless install of LibreOffice4 with:
pfexec pkg install libreoffice4

If there are any new questions or some error messages, just do a pastebin and I'll have a look for it.

Regards,
Thomas

I have also some experience with the gcc-conflicts between the publishers. So I avoid to install any additional gcc from "solaris" publisher as much as possible. But I think it is important that (in future) the gcc from solaris and localhosts11 / localhosts12 will be seperated because it will be impossible to install software if there are conflicts. Easiest way could be to move the sfe gcc and all other packages that may conflict with "solaris"-publisher to different location (/opt or sth else)

Regards
Verm

predrag.zecevic's picture

hi,

yes, there is overlapping of those 2 packages. Not sure how this will end, but for now i had to disable ugly gstream plugin package because wanted to have libreoffice... This is error (generally, only part of big list):


pkg install: The following packages all deliver file actions to usr/gnu/include/iconv.h:
pkg://openindiana.org/library/gnu-libiconv@1.14,5.11-2014.0.1.0:20151027T065404Z
pkg://localhostoih/library/libiconv@1.14,5.11-0.0.151.1.8:20150809T232334Z

There is conflict in files delivered by (/hipster) "developer/gcc-48" and (/localhostoih) "sfe/developer/gcc-48" and its runtime companions.

As one may see, that conflict is present in Solaris repositories to.

I vote for that easiest way: SFE version should be installed somewhere else (/usr/sfe, /opt/sfw, etc)

Regards.

Hi Predrag,

there is an error on the package on the OI-Hipster side. But the package is outdated.
Anyways: It delivers main files into basedir /usr/ but the include files still into an outdated basedir location /usr/gnu (libs into /usr/lib, manpages into /usr/share and include files into /usr/gnu/include/). This looks like a missed details when OI relocated the originally package (Makefile modeled after the SFE spec-file) out of /usr/gnu into /usr basedir.

Maybe the developers create a ticket and fix this as the package on the OI-Hipster side must be corrected. And the package name on the OI-Hipster side should remove the "gnu-" part, as is is no longer in basedir /usr/gnu/.
But that package is outdated anyways.

The SFE package consistently delivers /usr/gnu/ (libs, manpages, include files), so everything is right there.

You are right in only one point regarding gcc compiler. The GCC compiler package and the OS-Distro compiler package may deliver files of the same compiler version into the same location. SFE does this since ever. OS-Distros copied the path layout. But there is no need to change that, as the only important package to the end-user is the GCC-runtime and this can co-exist with the OS-Distro gcc runtime package. The decision to be made for a developer is: Use the OS-Distro compiler package without the SFE fixes *or* user the SFE compiler package *with* the fixes.
SFE recommends using the SFE compiler package and ignore the OS-Distro gcc compiler (but let dependencies install the OS-Distro GCC-runtime).

SFE covers Solaris 11, OpenIndiana OI151a8/a9, OpenIndiana Hipster, OmniOS and therefore tries to get a good compromise between identical development enviroment and avoid clushes with the packages delivered by the OS-Distro.
And in the two cases above, the only real error is, that OpenIndiana Hipster gnu-libiconv has a but with the wrong location for the include path.

Ah, coming back to the gestreamer stuff. You can't mix Packages from different OpenIndiana Hipster versions. Therefore the Package Verison in the example shows outdated "2014". That is not supported to mix with Hipster 2015. I'm wondering if there is a fresh version for gstreamer on the Hipster side? I still have no answer to this.

At least for SFE, I'm planning to update the existing SFE gstreamer packages and add what is missing, as this looks the best solution for every supported OS-Distro: Solaris 11, OpenIndiana OI151 a8/a9 and OI-Hipster - all supplied from one single source.

Regards,
Thomas

predrag.zecevic's picture

Hi Thomas,

many thanks for detailed explanation.
I am looking forward for new gstreamer packages delivered from SFE!

With best regards.
Predrag Zecevic

It will be very nice if it was installed under /opt/foobar not to mix it with Solaris, OI repositories.

BTW: it very nice to meet people using "Solaris" as desktop :) Look the site www.solarismultimedia.com. there a lot of nice stuff too (Mediatomb, mplayer, GStreamer plugins, ffmpeg, etc)

With best regards

I wanted to use it some years ago, but had serious problems after installed it. So I am glad to find here much more clean and polished sfe with VLC Player. I am looking forward when Audacity is ready. I also compiled Hatari and Dosbox succesfully as they disappeared from Oracle Repository.

Yes Solaris 11 on desktop is clean and polished. And some older stuff for Solaris 10 found somewhere (e.g. Blender) runs fine.

Hi Chuck,

as the conflicts are absolutely rare, SFE sees itself as an add-on to the existing packages delivered by the core OS-distro 1).
Therefore there are no plans to relocate all packages into a separate directory structure, as it is not badly needed.
I personally see it much more convenient, to have tools "just in PATH". For the rare cases where conflicts exist with OS-distro delivered file paths, we already have the path /usr/gnu and for special case G++ compiled programs /usr/g++.
That should really be sufficient for most cases.

About other repositories, I'm watching them from time to time. I think there are some things to take into account:
* are the build recipes publicly available
* is it a one-person shop or several maintainers
* it the repository really maintained these days 2) and gets new stuff regularly added
* is the basic set of packages *you* need present in the repository and if not,
is the project open to add the missing pieces?

I believe with only *very* few exceptions, the last point can't be fulfilled by most of the repositories found on the net.
Well that is at the same time the biggest challenge in keeping such a repository alive and evolve.

Regards,
Thomas

1) that means: A OS-distro repository should not really try to fill up with numerous packages just to try to be attractive to users. More the OS-distro should provide a solid foundation and recommend to users which 3rd-party repositories are recommended. The OS-distro which makes far the most stroubles is the one which duplicates work which is for instance already done in SFE.
2) I know much to far too much what massive amount of time it costs to maintain a binary repo. I have 5 of them in parallel.

Starting with Solaris11Express I upgraded over all releases.
This way I am running Solaris 11.3 now.
No service contract ==> update state about Oct 2015.

First I got some gcc conflicts.
After removing all older gcc versions, but keeping the runtimes as follows:

gcc-3-runtime (dependencies: library/speech/espeak, diagnostic/nmap, editor/diagram/dia, library/libffi)
and from gcc-48:
gcc-c-runtime
gcc-c++-runtime
gcc-gfortran-runtime
gcc- gobjc-runtime
gcc-c-runtime

a conflict stays which I do not know, how to solve:

Trying to install libreoffice
======================
# pkg install libreoffice4
Creating Plan (Checking for conflicting actions): |
pkg install: The following packages deliver conflicting action types to usr/gnu/lib/amd64/pkgconfig:

link:
pkg://localhosts11/sfe/system/library/gcc-runtime@4.9.3,5.11-0.0.175.3.1.0.5.0:20160407T121258Z
dir:
pkg://localhosts11/library/gnu/lcms2@2.7,5.11-0.0.175.3.1.0.5.0:20160201T191443Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.

The following packages deliver conflicting action types to usr/gnu/lib/pkgconfig:

link:
pkg://localhosts11/sfe/system/library/gcc-runtime@4.9.3,5.11-0.0.175.3.1.0.5.0:20160407T121258Z
dir:
pkg://localhosts11/library/gnu/lcms2@2.7,5.11-0.0.175.3.1.0.5.0:20160201T191443Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.
#

It turned out that
- localhosts11, library/gcc-runtime@4.9.3,5.11-0.0.175.3.1.0.5.0
- lcms2 (any version)
were not installed at all.

I successfully then installed
- gcc-49
- gcc-49-runtime
- library/gcc-runtime
from localhosts11.

Trying to install
- gnu/lcms2 2.7 (Build 5.11-0.0.175.3.1.0.5.0)
- libreoffice4
failed as above.

I successfully installed library/lcms2 2.2 (Build 5.11-0.0.175.0.0.0.2.0) from localhosts11 then.

Trying to install
- gnu/lcms2 2.7 (Build 5.11-0.0.175.3.1.0.5.0)
- libreoffice4
failed as above.

Obviously, the main issue is:
- gnu/lcms2 2.7 (Build 5.11-0.0.175.3.1.0.5.0)
cannot be installed (together with gcc-49-runtime).
But libreoffice4 seems to require just that combination.

How can I solve this problem?

Norbert,

very short interim answer as currently my time is a bit short.

gcc-runtime@4.9.3 and gcc@4.9.3 shouldn't be installed at all. These are the main packages providing symlinks in prominent filesystem places. And usually I try to avoid publishing them to the public repo.

You should " pfexec pkg uninstall gcc-runtime@4.9.3 gcc@4.9.3 ", while the the packages gcc-49 and gcc-49-runtime may be left in place, they should normally not interfere.

The LO packages and prerequisite packages should in these days all depend on gcc 4.8.5 only.

The file action conflict with lcm2 is at first view a different problem which I'll have a look at shortly. I'll post an update here or I can send you and email once I have a plan for a fix or a solution in place.

Regards,
Thomas

Hello Tom,

thanks for your very prompt answer.

I uninstalled all things belonging to gcc-49, i.e. sfe/developer/gcc-49 [4.9.3 (Build 5.11-0.0.175.3.1.0.5.0)], sfe/system/library/gcc-49-runtime [4.9.3 (Build 5.11-0.0.175.3.1.0.5.0)], and sfe/system/library/gcc-runtime [4.9.3 (Build 5.11-0.0.175.3.1.0.5.0)].
Then I retried to install libreoffice4.
Then I additionally removed gmp, mpc, and mpfr.
So nothing from localhost11 remained installed.
Then I retried to install libreoffice4.
Then I installed sfe/developer/gcc-48 [4.8.5 (Build 5.11-0.0.175.3.1.0.5.0)] and sfe/system/library/gcc-48-runtime [4.8.5 (Build 5.11-0.0.175.3.1.0.5.0)], which also lead to the re-installation of gmp, mpc, and mpfr.
Then I again retried to install libreoffice4.

I always get the same action conflict as mentioned in my first post.
Looks like libreoffice demands gcc-runtime@4.9.3.

Best regards,
Norbert

Norbert,

could you email me the output of those commands:
pkg list -v
pkg info gcc
pkg info gcc-48
pkg info gcc-49
pkg info gcc-runtime
pkg info gcc-48-runtime
pkg info gcc-49-runtime

If you want to try cleaning your local cached package lists, you could remove the localhosts11 publisher and re-add it.

Before the next try you can list the exact available gcc packages like this:

pkg list -avf | grep gcc
You should not see the 4.9 series any more ( "gcc@4.9.3", "gcc-runtime@4.9.3", "gcc-49@" and "gcc-49-runtime@" - the IPS repo on my side is now cleaned.)

If you try reinstalling as dry run, then
pfexec pkg install -nv sfe/developer/gcc
should only print version 4.8.5
If this is the case, you can re-try and version 4.9 of gcc should no longer be able to slip in.

Regards,
Thomas

Hi Thomas,

after your cleanup of the repository concerning gcc-4.9.3 all went fine now.
I first uninstalled gcc-4.9.3.
Then I installed gcc-48 (and gcc) .
No problems installing libreoffice4 then.
I do not know whether the installation of gcc-48 before was necessary.

Best regards and thanks for your support

Norbert

This is great news, have fun with LibreOffice!

Hi,

I think I encounter quite a similar problem as stated above. My system is a patched x86_64-Solaris 11.3 (11.3.8.7.0):

FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.8.0.7.0:20160520T164511Z

The following publishers have been installed.

steffen@polaris:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris (syspub) origin online T
solarisstudio (syspub) origin online T
saps.uni-ulm.de origin online F http://wega:9001/
localhosts11 origin online F http://sfe.opencsw.org/localhosts11/

When trying to install libreoffice4, I run into the following problems:

http://pastebin.com/PnWTrw2J

The problem only occurs in zones where

pkg://solaris/developer/gcc-48

has been installed before. Installing LibreOffice in other zones works well. Did I get it right that the correct way to solve the problem was to uninstall all gcc-48 packages from pkg://solaris/developer/ and to use all GCC packages provided by your repository in pkg://localhosts11/sfe/developer/ instead? In this case, I need to have a full GCC installation in the specific zone which I try to install LibreOffice 4 in.

Thank you very much in advance!

Kind regards,
Steffen

Steffen,

very close.
SFE delivers runtime files only into /usr/gcc/4.8/lib.
Solaris GCC compiler delivers into /usr/gcc/4.8/lib partly unused runtime files (compiler package).
Solaris GCC runtime is in /usr/lib.
SFE gcc runtime is in /usr/gcc/4.8/.

So the current workaround is to uninstall the Solaris gcc-compiler-48 (and keep Solaris gcc-runtime!).
The SFE gcc compiler package is not necessary for LibreOffice.

There is no strict need for installing the complete compiler from the SFE repository, but it can be done. It should be a good replacement for the Solaris provided gcc compiler as we can adjust features as needed on our own. The SFE gcc package has enhancements to have the runtime loaded from a private directory. Second and more important it disables "LAZY_LOAD" for libgcc_s.so and libstdc++.so.6. To read about the reason you may google for "LINK_LIBGCC_SPEC" and "SFE").
SFE gcc also has the Java compiler added.

Given that the above workaround helps most users, there is currently no hot activity to develop a more long-term solution. So for now, just uninstall the Solaris gcc compiler packages and nothing else is to be be done.
I only know one group of developers who can't use the SFE gcc-compiler: Those people programming Solaris 11 itself and maybe an ISV who needs a fully Oracle Solaris developer environment.

Regards,
Thomas

I've marked the other comment as [solved] in the subject to keep the display style.

Hi all,

Having issues in trying to install the libreoffice
getting following error messages
#pkg install libreoffice4-desktop-int libreoffice4
Creating Plan (Checking for conflicting actions): /
pkg install: The following packages all deliver file actions to usr/lib/pkgconfig/zlib.pc:

pkg://localhosts11/library/zlib/pkgconfig/zlib.pc@1.2.8,5.11-0.0.175.3.1.0.5.0:20160608T202311Z
pkg://solaris/library/zlib@1.2.8,5.11-0.175.3.9.0.3.0:20160608T195958Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.

The following packages all deliver file actions to usr/lib/amd64/pkgconfig/zlib.pc:

pkg://solaris/library/zlib@1.2.8,5.11-0.175.3.9.0.3.0:20160608T195958Z
pkg://localhosts11/library/zlib/pkgconfig/zlib.pc@1.2.8,5.11-0.0.175.3.1.0.5.0:20160608T202311Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.

and i do not see any way on installing libreoffice
i can not uinstall zlib as it depends for many other packges
please advice
Filip

(Update 20160626 -> Finally the new zlib.pc packages made it to the repo server. "zlib.pc" uprevs to 1.2.8.0.1 and uninstalls itself. Please retry this: pfexec pkg install libreoffice4-desktop-int )

Hi Filip!

Unfortunately the already prepared automatic "renamed-true" package didn't make it uploaded to the IPS repo.
It is not fully tested now, but it should automatically uninstall the interim package "zlib.pc". The original Solaris zlib package now provides the missing pkg-config files on its own.

If you re-try the install a little bit later, then it should work.

Regards!
Thomas

Greate just saw that the repo has been updated.
So installed the libreoffice now and it worked
Thanks for all the work
REgards
Filip

Hi Filip,

thats great! Thank you for your feedback!

If you like, you may tweet, blog or talk about this repo and the cool software available.
New maintainers are welcome in all areas from programming/packaging to working on articles for this blog. Yes, it's open for logged in users to write articles!

Regards,
Thomas

PS: Building such a repo it really fueled by getting human user feedback. I mean it's interesting to see a hundred LibreOffice Downloads over the time, but that is still a non-human feedback coming from a dead log file...So thank you very much!

Hi Thomas!

Do you have any plans to make LibreOffice 6.x ?
LibreOffice 5.2 is getting older bit by bit :) Plus new Solaris 11.4 is out.
And it's not possible to upgrade to 11.4 with libreoffice52 installed from localhosts11 repository.
Also, localhosts11 repository has more newer version 5.2.5.1 then localhosts12 has.
So, the Solaris update is not so straight forward as it could be.
How about to compile LibreOffice 6.x and make it available for Solaris 11.4?

I'm willing to help make it happen. Please let me know how I can help you with that.

P.S. Hope this site is going to be more stable in the nearest future :)

Best Regards
v.