[oi-dev] Compiler migration #2

tomww at opensolaris.org tomww at opensolaris.org
Sun Jan 27 18:26:23 UTC 2013


On Sun, Jan 27, 2013 at 02:57:28PM +0100, Luca De Pandis wrote:
[...]
> The only possible workarounds are build a recent gcc version yourself or use 
> SFEgcc package, but the last option is not a viable alternative if your CPU is 
> not SSE2-capable.
> So, not every users are able to use that compiler/runtime.

If that is strongly needed, the SFE project could try to add
support to the gmp lib for older CPUs.

BTW: with packages in SFE, you are always free to recompile the
packages with different switches. Everything is open and done
in a way that enables all users to recompile.
The spec-files used in OI-SFE are kept in sync as good as 
possible between the SFE svn repo and the repository copies
used for OI-SFE.


About which compiler version to use. SFE follows the path 
to use its own gcc copy (4.6.3 currently) and tries to stay
away from gcc runtime libraries the OS provides. 
That way the OS can update the compiler almost independently
from SFE and vice versa.
That is an advantage in large projects where you have less
chance to synchronize everything.

In SFE we've seen several times that some of the packages need
a more fresh version of the compiler and some need the older gcc.
In practise most of the packages work with all compiler versions,
but we've seen that it helps to actually use both compilers in 
parallel for a while. Even within SFE we can use gcc 4.5, 4.6.3,
4.7.x in parallel and the componenty compiled find the right
runtime libs.

If one copies the SFE gcc implementation, then one would
design the compiler packages in a way so that different 
versions can be used at the same time. Just compile your
actual work with the gcc version that works and save
time+effort and not burn days and weeks on patching sources.
Alignment to a single compiler version can be done later
once you have time or the source code in question got better.

For gcc 4.4.4 that one would compile the core OS, for 
stuff on top the other sub-projects would use a more fresh
compiler version, preferably have say 4.6.3 at hand and
latest+greatest 4.7.x for selected C++ stuff.

Thomas




More information about the oi-dev mailing list