[OpenIndiana-discuss] /hipster-2015 and /localhostoih gcc mess up (second time)
Predrag Zečević
predrag.zecevic at 2e-systems.com
Fri Nov 20 19:31:30 UTC 2015
Hi all,
I am using packages from following repositories:
$ pkg publisher -Hn
openindiana.org origin online F
http://pkg.openindiana.org/hipster-2015/
localhostoih origin online F
http://sfe.opencsw.org/localhostoih/
hipster-encumbered origin online F
http://pkg.openindiana.org/hipster-encumbered/
Repository localhostoih serves libreoffice4 (which works fine, but
requires gcc 4.8 runtime from /localhostoih repository).
From the other side, /hispter delivers gcc 4.9 - so, now I have
following situation:
$ pkg list | grep -E "gcc.*4.(8|9)"
developer/gcc-49 4.9.3-2015.0.2.0
i--
sfe/developer/gcc-48 (localhostoih) 4.8.5-0.0.151.1.8
i--
sfe/system/library/gcc-48-runtime (localhostoih) 4.8.5-0.0.151.1.8
i--
sfe/system/library/gcc-runtime (localhostoih) 4.8.5-0.0.151.1.8
i--
system/library/gcc-4-runtime 4.9.3-2015.0.2.0
i--
That is not problem *unless* you try to install perl CPAN module (in
this case, perl Term::ReadKey):
$ pfexec perl -MCPAN -e shell
...
cpan[1]> install Term::ReadKey
...
/usr/gcc/4.8/bin/gcc -m32 -shared -fstack-protector ReadKey.o -o
blib/arch/auto/Term/ReadKey/ReadKey.so \
ld: fatal: library -lssp_nonshared: not found
ld: fatal: file processing errors. No output written to
blib/arch/auto/Term/ReadKey/ReadKey.so
collect2: error: ld returned 1 exit status
^^^^^^ It looks like perl (5.22) is compiled with OI gcc 4.8, which was
replaced with new one recently. Problem is actually in both OI and SFE:
*** SFE gcc 4.8 is missing /usr/gcc/4.8/lib{/amd64}/libssp_nonshared.a
files (those ARE present in OI gcc 4.8):
$ pkg search -r /usr/gcc/4.8/lib/libssp_nonshared.a
INDEX ACTION VALUE PACKAGE
path file usr/gcc/4.8/lib/libssp_nonshared.a
pkg:/developer/gcc-48 at 4.8.5-2015.0.1.0
path file usr/gcc/4.8/lib/libssp_nonshared.a
pkg:/developer/gcc-48 at 4.8.5-2015.0.2.0
*but* that one (OI gcc 4.8) cannot be installed because of some conflicts:
$ pfexec pkg uninstall -v sfe/developer/gcc-48
...
$ pfexec pkg install -v pkg://openindiana.org/developer/gcc-48
...
pkg install: The following packages all deliver file actions to
usr/gcc/4.8/lib/amd64/libatomic.so.1.0.0:
pkg://localhostoih/sfe/system/library/gcc-48-runtime@4.8.5,5.11-0.0.151.1.8:20151010T221843Z
pkg://openindiana.org/developer/gcc-48@4.8.5,5.11-2015.0.2.0:20151113T125128Z
These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.
...
ETC
So, I want to keep libreoffice4 (because openoffice 4 has problems) and
to install perl modules...
I cannot determine which GCC was used for perl (but perl is 32 bit):
$ perl -v
This is perl 5, version 22, subversion 0 (v5.22.0) built for
i86pc-solaris-64int
$ file /usr/perl5/5.22/lib/i86pc-solaris-64int/CORE/libperl.so:
ELF 32-bit LSB dynamic lib 80386 Version 1, dynamically linked, not stripped
$ readelf -Wa /usr/perl5/5.22/lib/i86pc-solaris-64int/CORE/libperl.so |
grep GCC
[RETURNS nothing], but CPAN looks for gcc 4.8
Solution is either:
a) SFE has to fix gcc 4.8 to include
/usr/gcc/4.8/lib{/amd64}/libssp_nonshared.a files (and maybe some other)
b) OI to compile perl with gcc 4.9
Any thoughts? Or maybe better solution? Maybe I am making mistake somewhere?
With best regards.
--
Predrag Zečević, Technical Support Analyst, 2e Systems GmbH
Telephone: +49 6196 9505 815, Facsimile: +49 6196 9505 894
Mobile: +49 174 3109 288, Skype: predrag.zecevic
E-mail: predrag.zecevic at 2e-systems.com
Headquarter: 2e Systems GmbH, Königsteiner Str. 87,
65812 Bad Soden am Taunus, Germany
Company registration: Amtsgericht Königstein (Germany), HRB 7303
Managing director: Phil Douglas
http://www.2e-systems.com/ - Making your business fly!
More information about the openindiana-discuss
mailing list