The Workbench 2016-10

  • Posted on: 5 October 2016
  • By: tomww

GCC
This month I'm working on SFEgcc to be relocated out of the directory /usr/gcc/.
The reason is, these days the directory is used by the OSDistro providers to deliver their version of gcc. For quite some time in the past, SFE delivered a higher version of GCC then the OSDistro did, so there hasn't been any file conflicts at that time.
But today, and this is basicly good news, OSDistro deliver fresh versions of the GCC compiler and this creates duplicate file conflicts in IPS, especially if you need to install the OSDistro GCC compiler. Therefore as a 3rd-party packaging project, we have to give way and look for a new home for the GCC compiler and runtime files.
I've chosen /usr/gcc-sfe/ as new home and a set of symlinks in /usr/gcc/lib and /usr/gcc/bin point to this new location. That way even older SFE binary files can find the gcc runtime in /usr/gcc/lib which is pointing to for instance /usr/gcc-sfe/4.8/lib/.

Temporary/Testing repository "localhosts12nogccdeps"
A few users used it to test LibreOffice4 on Solaris 12. I hope those users have enjoyed LibreOffice4 already!
The temorary repository "localhosts12nogccdeps" was a real testing repository and I promised to remove it anytime in the future. This is now.
A disk space shortage today made it necessary that I had to disable/remove this repository (20161005).
The repo only served the purpose to install libreoffice4 on Solaris 12 *if* at the same time the OSDistro provided GCC 4.8 compiler was necessary. This would have produced an IPS duplicate file issue on the gcc runtime files in /usr/gcc/4.8/lib/. As described above for GCC in /usr/gcc-sfe/, the reason for having this repository is gone now. I beg your pardon for the inconvenience this may get you when using "pkg udpate / install / refresh" now.

I have not yet prepared a step guide to change your system from publisher localhosts12nogccdeps to localhosts12, but I think the most easy way should be to "pkg list | grep localhosts12nogccdeps", make a note of the package names and then remove all of them. Then remove the publisher and add (again) the localhosts12 publisher before re-adding the same packages then you've had before. This time you'll get the propper SFE gcc runtime files in the new directory /usr/gcc-sfe/4.8/lib. The new IPS repo setup is here: http://sfe.opencsw.org/quickrepolinks .

LibreOffice5
As maintainer Pjama sent his LibreOffice5 spec files to SVN repository (including added/updated supporting libs), time has come to do first testing builds in Solaris 11, Solaris 12 and OpenIndiana Hipster (older version hipster 2015, new one and eventually OI151a9 comes later).
One still not finished preparation for the LibreOffcie5 builds is to test SFEgcc if it runs propperly from the location /usr/gcc-sfe/. Another thing is, I would like to use the chance to do a rebuild of the whole stack of supporting libs and LibreOffice together. So this will take some time to complete. Please stay tuned.

I would like to thank Pjama very much for his large effort to get LibreOffice5 to our Solarish ecosystem! Thank you!

Any comments, questions, suggestions, you want to tell something nice?
Then please email me on sfepackages at g mail dot com
Or register a username on this blog and write a comment.

Thanks for using SFE and please tell people about it!

Regards,
Thomas

Comments

Quick note:

Package "gcc" and "gcc-runtime" for GCC 4.8.5 ist now available in updated package:
It installs into /usr/gcc-sfe.
For backwards compatibility for older SFE packages, there are symlinks in /usr/gcc/lib/ and /usr/gcc/bin/ pointing to the new location. Old binaries have RPATH ........:/usr/gcc/lib and this way it finds gcc-runtime libs.

This is part one of two to enable Install for LibreOffice4 on OpenIndiana Hipster 2015 and 2016 in case you want the GCC compiler from the OSdistro installed (e.g. a OI Developer wants this).
Users of OI 2015 have been able to install before, but couldn't have gcc 4.8.5 from the OSDistro at the same time.

Part two is only for OpenIndiana Hipster 2016, as this delivers its own package perl-5/archive-zip which is needed by LibreOffice4. (I have to check separatly why perl is used by LO.....). Today the SFE package gets you into a IPS file conflict if you run Hipster 2016. The new perl-5/archiv-zip package will in the first run be a "renamed" package so on update or install it automatically forwards to the OSDistro provided package (this is the plan, we'll see if IPS has other plans...). Please expect this package to appear at around this weekend time.

OI has to run to catch Solaris 11, as users constantly download LibreOffice4 packages like crazy.
(yes, I'm a bit proud of this. OI will do the same very soon?)

Regards,
Thomas

Alexander tested the LibreOffice4 install on Openindiana Hipser 2016 and it works now.

The test has been:

* set the publisher as in http://sfe.opencsw.org/quickrepolinks
* pfexec pkg install libreoffice4-desktop-int@4.4.7.2 g++/boost g++/icu

Enjoy!

Regards,
Thomas

predrag.zecevic's picture

Hi Thomas,

something is wrong here (I have uninstalled libreoffice and OLD gcc from SFE, together with dependent packages and tried to add it again):

$ pfexec pkg install -v libreoffice4-desktop-int@4.4.7.2 g++/boost pkg://localhostoih/library/g++/icu
.
Creating Plan (Running solver): |
pkg install: No matching version of desktop/application/libreoffice4-desktop-int can be installed:
Reject: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8
Reason: No version matching 'require' dependency desktop/application/libreoffice4 can be installed
----------------------------------------
Reject: pkg://localhostoih/desktop/application/libreoffice4@4.4.5.2-0.0.151.1.8
Reason: No version matching 'require' dependency system/library/g++/boost@1.58.0-0.0.151.1.8 can be installed
Reject: pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8
pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8
Reason: No version matching 'require' dependency system/library/g++/boost@1.59.0-0.0.151.1.8 can be installed
----------------------------------------
Reject: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8
Reason: No version matching 'require' dependency desktop/application/libreoffice4 can be installed

Do you have suggestion how to bring back LO4?

Regards

P.S: these I still have installed:

$ pkg list | grep localhostoih
library/perl-5/crypt-des (localhostoih) 2.7-0.0.151.1.8 i--
library/perl-5/crypt-passwdmd5 (localhostoih) 1.40-0.0.151.1.8 i--
library/perl-5/date-manip (localhostoih) 6.46-0.0.151.1.8 i--
library/perl-5/digest-hmac (localhostoih) 1.3-0.0.151.1.8 i--
library/perl-5/digest-sha (localhostoih) 5.95-0.0.151.1.8 i--
library/perl-5/digest-sha1 (localhostoih) 5.22.2.13-0.0.151.1.8 i--
library/perl-5/encode (localhostoih) 2.82-0.0.151.1.8 i--
library/perl-5/font-afm (localhostoih) 1.20-0.0.151.1.8 i--
library/perl-5/html-formatter (localhostoih) 2.14-0.0.151.1.8 i--
library/perl-5/net-cidr (localhostoih) 0.17-0.0.151.1.8 i--
library/perl-5/net-snmp (localhostoih) 6.0.1-0.0.151.1.8 i--
library/perl-5/params-validate (localhostoih) 1.22-0.0.151.1.8 i--
library/perl-5/parse-cpan-meta (localhostoih) 1.4417-0.0.151.1.8 i--
library/perl-5/perl-ostype (localhostoih) 1.9-0.0.151.1.8 i--
library/perl-5/term-readkey (localhostoih) 2.33-0.0.151.1.8 i--
library/perl-5/xml-dumper (localhostoih) 0.81-0.0.151.1.8 i--
service/network/smtp/postfix (localhostoih) 3.1.1-0.0.151.1.8 i--
sfe/database/bdb (localhostoih) 5.3.28-0.0.151.1.8 i--
sfe/library/gmp (localhostoih) 5.1.3-0.0.151.1.8 i--
sfe/library/gnu/openldap (localhostoih) 2.4.40-0.0.151.1.8 i--
sfe/library/mpc (localhostoih) 1.0.1-0.0.151.1.8 i--
sfe/library/mpfr (localhostoih) 3.1.2-0.0.151.1.8 i--
terminal/gnu/tmux (localhostoih) 2.1-0.0.151.1.8 i--

Hi P,
please see my email reply to your address containing some commands to investigate the rejected packages.
Regards,
Thomas

predrag.zecevic's picture

Hi Thomas,

I have sent you log... Basically this has worked:

pfexec pkg install -v library/g++/icu@55.1
pfexec pkg install -v system/library/g++/boost@1.59
pfexec pkg install -v libreoffice4-desktop-int@4.4.7.2

Many thanks.
Regards/MfG

Small note, today I managed to move the compile instance OI151a8 from VirtualBox over to SmartOS KVM on a much faster machine.
I would like to know if you are interested in getting fresh packages on OI151a8 and which ones you need first.
An idea would be to get a recent OpenSSL into e.g. /usr/gnu/ and a recent OpenSSH.
Another idea would be to make a package for Libreoffice as our maintainer pjama made it run on OI151a9, so it should also compile fine on OI151a8. It would install on both OSDistro.

Please let me know in the comments or send an email to sfepackages at g mail dot com

Regards
Thomas

predrag.zecevic's picture

Hi Thomas,

LO is never ending story: I have updated /hipster on 2016-11-04 and LO stopped to work:

$ /usr/lib/libreoffice/program/soffice
ld.so.1: soffice.bin: fatal: relocation error: file /usr/lib/libreoffice/program/libvcllo.so: symbol _ZNSt8__detail15_List_node_base7_M_hookEPS0_: referenced symbol not found


$ ldd /usr/lib/libreoffice/program/soffice.bin | grep "version not found"
libstdc++.so.6 (GLIBCXX_3.4.15) => (version not found)
libstdc++.so.6 (CXXABI_1.3) => (version not found)


$ pkg search -r /usr/gcc/3.4/lib/libstdc++.so.6
INDEX ACTION VALUE PACKAGE
path link usr/gcc/3.4/lib/libstdc++.so.6 pkg:/system/library/gcc-3-runtime@3.4.3-2016.0.0.1

So, what could be a problem?
Any idea?

It is kind of urgent, since /hipster has dropped OO package.

Regards.

P.S: This was already solved: https://openindiana.org/pipermail/openindiana-discuss/2016-November/0198... (it is funny that problem has appeared again... and IT CANNOT Be solved with mentioned "trick" anymore. Looks like /hipster update problem)

Hi Predrag,

some questions:

- between working and not working, what was the last pkg action?

- can you survive for a few days by rolling back to a previous OS-Bootenvironment?

- what does the output of the following commands look like:
pkg info entire osnet-incorporation | grep FMRI
pkg info icu | grep FMRI
pkg info boost | grep FMRI
pkg info libreoffice4 libreoffice4-desktop-int | grep FMRI

I believe I've seen cases where libreoffice was not at 4.4.7.2, so older packages in the IPS repo may depend on older gcc runtime libs (which is not what we want and your pasted output indicates this). This can happen if the IPS resolver works as designed but the result is not what we want. There are thoughts how to tune the Hipster IPS repo and / or the SFE IPS repo to make the install experience better. But no final solution is available today.

You may compare your LO releated package versions with the ones what I have:
FMRI: pkg://openindiana.org/consolidation/osnet/osnet-incorporation@0.5.11-2016.0.1.15945:20161028T005445Z
FMRI: pkg://openindiana.org/entire@0.5.11-2015.0.1.1:20151003T133738Z
FMRI: pkg://localhostoih/library/g++/icu@55.1-0.0.151.1.8:20160108T181915Z
FMRI: pkg://localhostoih/system/library/g++/boost@1.59.0-0.0.151.1.8:20160227T015758Z
FMRI: pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8:20161028T214000Z
FMRI: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8:20161028T214000Z
( FMRI: pkg://openindiana.org/library/icu@55.1-2016.0.0.1:20160730T000017Z (not used by LO) )

I'm on the road this week, so there may be increased latency in my answers.

Regards,
Thomas

predrag.zecevic's picture

Hi Thomas:

here is output you were required:

$ cat /tmp/Predrag\:LO
FMRI: pkg://openindiana.org/consolidation/osnet/osnet-incorporation@0.5.11-2016.1.0.15958:20161103T005727Z
FMRI: pkg://openindiana.org/entire@0.5.11-2016.0.0.0:20160730T005147Z
FMRI: pkg://openindiana.org/developer/icu@55.1-2016.0.0.1:20160730T000002Z
FMRI: pkg://localhostoih/library/g++/icu@55.1-0.0.151.1.8:20160108T181915Z
FMRI: pkg://openindiana.org/library/icu@55.1-2016.0.0.1:20160730T000017Z
FMRI: pkg://openindiana.org/system/library/boost@1.58.0-2016.0.0.4:20160729T225934Z
FMRI: pkg://localhostoih/system/library/g++/boost@1.59.0-0.0.151.1.8:20160227T015758Z
FMRI: pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8:20160110T191536Z
FMRI: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8:20160110T191820Z

as you may see I have few more icu/boost packages installed. Have saved your output into file and did diff:

$ diff /tmp/Thomas\:LO /tmp/Predrag\:LO
1,2c1,3
< FMRI: pkg://openindiana.org/consolidation/osnet/osnet-incorporation@0.5.11-2016.0.1.15945:20161028T005445Z
< FMRI: pkg://openindiana.org/entire@0.5.11-2015.0.1.1:20151003T133738Z
---
> FMRI: pkg://openindiana.org/consolidation/osnet/osnet-incorporation@0.5.11-2016.1.0.15958:20161103T005727Z
> FMRI: pkg://openindiana.org/entire@0.5.11-2016.0.0.0:20160730T005147Z
> FMRI: pkg://openindiana.org/developer/icu@55.1-2016.0.0.1:20160730T000002Z
4a6
> FMRI: pkg://openindiana.org/system/library/boost@1.58.0-2016.0.0.4:20160729T225934Z
6,7c8,9
< FMRI: pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8:20161028T214000Z
< FMRI: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8:20161028T214000Z
---
> FMRI: pkg://localhostoih/desktop/application/libreoffice4@4.4.7.2-0.0.151.1.8:20160110T191536Z
> FMRI: pkg://localhostoih/desktop/application/libreoffice4-desktop-int@4.4.7.2-0.0.151.1.8:20160110T191820Z

So, yes - there is difference.

Thanks for investigating.
Regards.

P.S: I can use LO from virtual box guest, if urgent - no worries (but would like to have native one)

Hi Predrag,

Interesting part is that some OSDistro packages are a tiny bit newer on your system then on my testing hipster-2016.
So to have something to compare, I've done the update on my testing hipster VM. It now runs the Hipster version from this week.
Libreoffice starts fine and opens documents.
So I would say, there could be a remaining of older packages which didn't get automatically uninstalled or so.
This way it may stumble over an unwanted library (older or newer). It could be as well the case that your system has a library installed which I have not on my system. But Library-Searchpath may find the unwanted library first and this may lead to the symbols problem.

Can you can compare a LD_DEBUG run of the "loffice" start?

Like this:
$> script LD_DEBUG_yours
$> LD_DEBUG=files,libs loffice
$> exit

And "vimdiff" my file and yours. My script output is are here:
http://sfe.opencsw.org/~sfe/log/LD_DEBUG=files,libs_loffice-hipster

(you may want to: :1,$ s/^[0-9]*:// on both sides and then run vim instruction :diff again)

My currently installed packages list output (pkg list -v)
http://sfe.opencsw.org/~sfe/log/pkg_list_-v_hipster_for_libreoffice

HTH

Regards,
Thomas

predrag.zecevic's picture

Hi Thomas,
thanks for tips. I did what you have asked, and will send files back to you in separate mail.
Diff shows many differences - so I hope you will find something suspicious.
My publishers:

$ pkg publisher
PUBLISHER TYPE STATUS P LOCATION
openindiana.org origin online F https://pkg.openindiana.org/hipster/
hipster-encumbered origin online F https://pkg.openindiana.org/hipster-encumbered/
localhostoih origin online F http://sfe.opencsw.org/localhostoih/

Best regards/MfG