[oi-dev] [HEADSUP] Sun Studio-compiled C++ libraries are no longer supported

Thomas Wagner tom-oi-dev at tom.bn-ulm.de
Tue Dec 16 14:28:17 UTC 2014


On Tue, Dec 02, 2014 at 07:17:06PM +0100, Udo Grabowski (IMK) wrote:
[...]
> > This also obsoletes all packages of the SFE project.
> > Any replacements planned ?
> 
>  No, it seems I.m wrong, SFE packages depend on oi 151 /dev packages
>  and probably cannot be installed on /hipster generally.


It is a bit different. SFE tries to cover more then one distro.
That is a primary goal in SFE over years.
Currently distros are Solaris 11, OI_151a8(and up), now OmniOS.
Hipster is kind of a different distro, but close to OI_151a8 (and up).

That reason for SFE packages currently made for /dev (e.g. 
oi151_a8 and up) don't cleanly work on hipster is, that the
changes in hipster that are already there in the form of e.g.
duplicate packages while SFE packages still have their own
versions as dependencies. That can be changed on the SFE side
with a macro at compile/packging time.
This is nothing too complicated to resolve, as SFE already uses
macros for changing dependencies depending on the OS the package was
compiled on.

So, a different SFE binary repo _is_ planned, but the current
lack of time and the (seen from my personal view) risky changes
in hipster just prevent starting the automated builds and
doing the patches to let SFE honour hipster changes.
Risky is: It potentially puts a lot of work onto the maintainers
of the spec files to work around the hipster changes.

To understand the problem I expect SFE to have with relocating
a G++ compiled library from /usr/g++/lib into /usr/lib:
First it will require to add extra %if %else %endif clauses to
the spec files to successfully compile the packages on hipster.
The changes I expect are at minimum the CXXFLAGS, LDFLAGS and
I expect more workarounds to be needed because linking stumbles
over unwanted libs in /usr/lib (the default linker search path).

Second, renaming packages together with the compiler switchover
is probably not a good idea. It makes hipster derivate more 
from the regular distros. And I can't see the value of the package-
renames. Just let them as they are. If a library contains a C++
interface compiled by g++, then name the package after that.
If a system package formerly compiled by studio, then please
do not re-use the name which other distros use for a studio
compiled C++ interface.


I'm not against the compiler switch, I'm against placing
g++ compiled libs into /usr/lib instead of /usr/g++/lib.
And I do now appreciate renaming packages formerly containing
g++ lib interfaces to have the name of the package formerly
compiled with the studio compiler.


Regards,
Thomas





More information about the oi-dev mailing list