On 12/01/16 15:20, Ward Poelmans wrote:
On 11-01-16 21:50, Kenneth Hoste wrote:

** GCC 4.9.3 vs GCC 5.3.0 **

The question here is if we stay with the latest release of GCC v4.x,
which as it happens is still the same version as the one included in the
2015b toolchains, or if we make the jump to GCC 5.x.

My personal feeling is that it's (still) too early to jump to GCC 5.x,
and that we should stick to GCC 4.9.3 for the time being.

The main reasons for this are that several Linux distributions are yet
to pick up GCC 5.x as the main system compiler, and thus that there are
many unknown issues that are bound to pop up left and right, and that
the latest release of the Intel compilers is known not to be fully
compatible yet with GCC 5.x (cfr. [4]).
I feel adventurous and would suggest that we do move to GCC 5.

I don't think that 'adventurous' and 'stable' go together well, the latter is part of the point of having common toolchains.

  The major
issues are the new ABI of libstdc++ and that it defaults to c++11.

If we stick the default to c++98 and avoid the (
-D_GLIBCXX_USE_CXX11_ABI=0) we should be fine.
But, aren't we crippling GCC 5 then?

Having to jump through hoops like this is a sign to me that we should hold of jumping to GCC 5 for now. Even if it's only for foss, not intel; I'm strongly in favor of using the same GCC version in both foss and intel, it makes things a lot easier.
We have enough issues to deal with as is to get stuff built/installed.

  Maybe some poorly written
build systems will assume that the major GCC version is always 4 but as
GCC already did a couple of major version bumps, I think it will be a
minor issue.

I think that's the least of our worries, and something we'll have to deal with sooner or later.
This is not a strong argument for sticking to 4.9.3 imho.

* GCC version in foss vs intel

With the GCCcore concept that was introduced in EasyBuild v2.5.0, it is
possible to use a common GCC version as a base for both the foss and
intel toolchains (e.g. 4.9.3), while using a different GCC version in
foss (e.g. 5.3.0).
What future do we see for GCCcore? I would keep it fixed at 4.9.3 for
quite some time in the future. As it is a base compiler, it not a big
deal that it's not the latest and greatest version?

Well, since GCCcore is the base for the Intel compilers (as well as for the GCC used as main compiler in foss), moving on to whatever GCC >4 is compatible with the latest Intel compiler is important w.r.t. C++ features (and possible more in the future).

So, I don't think sticking to 4.9.3 for years to come for GCCcore is going to be a good option.

If you're concerned about getting GCC 5/6 to build with whatever GCC is default on the system, we can always make a small detour by specifying that GCC 4.9.3 is a build dependency of that GCC 5/6 we're after...


K.

Reply via email to