Rebuilding existing packages (fix visibility in gcc compiler, else boost compile fail)
For Building SFEboost-gpp.spec, I got into a problem: Boost complaining that linking failed (R_386_GOTOFF), that made it necessary to fix the compiler package first (SFEgcc.spec).
This is the reason why for OmniOS and OI-Hipster over the next few days I'll rebuild those packages which base on GCC 4.8.x. This is to get ensured, that the stack builds propperly and runtime dependencies are matching.
What visibility does is described here: https://gcc.gnu.org/wiki/Visibility
More details, read on:
The reason for the updated SFEgcc.spec is, that it should build successfully on OmniOS *with* enabled feature "visibility". The odd thing was, only the following configure switch made gcc correcty configure itself to enable __attribute__ vidibility:
All other attempts to get gcc propperly configure the visibility attriute have failed before (various combinations of LD, LD_ALTEXEC, LD_FOR_TARGET ...).
What's in that directory /usr/gnu/i386-pc-solaris2.11/bin:
omnios sfe ~ ls -l /usr/gnu/i386-pc-solaris2.11/bin/
-rwxr-xr-x 2 root bin 1058468 Okt 7 22:04 ar
-rwxr-xr-x 2 root bin 1883492 Okt 7 22:04 as
-rwxr-xr-x 4 root bin 2106744 Okt 7 22:04 ld
-rwxr-xr-x 4 root bin 2106744 Okt 7 22:04 ld.bfd
-rwxr-xr-x 2 root bin 21859672 Okt 7 22:04 ld.gold
-rwxr-xr-x 2 root bin 1037612 Okt 7 22:04 nm
-rwxr-xr-x 2 root bin 1254116 Okt 7 22:04 objcopy
-rwxr-xr-x 2 root bin 1844732 Okt 7 22:04 objdump
-rwxr-xr-x 2 root bin 1058432 Okt 7 22:04 ranlib
-rwxr-xr-x 2 root bin 1254148 Okt 7 22:04 strip
On the long journey to the soltion I tried to update the OmniOS Image to R151014, but even there the regular build tools like /usr/bin/[g]ld, /usr/bin/[g]ar didn't produce a working visibility feature in the gcc compiler.
So I found the above switch by spying "/opt/gcc-4.8.1/bin/gcc -v", adopted it from there and surprise, it even continues to work on R151012. I'd stop investigating any further, as it now works.