Patch Release 6.12/06 is out! With C++17 / GCC7.3!

Hi,

We are happy to announce the ROOT patch release 6.12/06. It fixes a couple of crucial bugs; we recommend migrating to it!

Most notably and upon popular demand, it’s the first release to support GCC 7.3 with C++17.

You can download binaries and sources from https://root.cern/content/release-61206 The page also links to updated release notes.

Thanks to everyone who fixed and reported bugs!

Cheers, Axel,
for the ROOT Team.

7 Likes

FWIW I had to add #include <algorithm> to
graf2d/gpad/v7/src/TPadUserAxis.cxx so that std::max wasn’t missing.

Hi @whit,
thanks a lot for your report.
The issue was fixed in commit a3cb09cb59 but unfortunately it did not make it into the patch release.

Cheers,
Enrico

Hi @whit and @eguiraud - that problem existed for a couple of hours in the master, not in v6-12-00-patches let alone in v6.12/06. So this report (indeed - thanks for reporting!) has nothing to do with this topic…

Thanks Axel, I should have checked more carefully!

But the binaries in the official distribution are still built with only cxx11 support in Cling :frowning:

You mean the CC7 binaries? Yes - we really don’t want to see GCC4.8 do C++14 :wink: But we could indeed bump the other compilers to C++14. So far we have not received a lot of requests for this.

New request here.
Please make sure that any new ROOT binary releases for Ubuntu 18.04 LTS, using its default system provided gcc 7.3, support C++17 out of the box.

2 Likes

No, I mean new Ubuntu 17.10 gcc 7.2 binaries.

Just to let you know: enabling C++17 means ROOT is built with C++17 - and that means all other C++ software linked or loaded should also be built with C++17 (due to possible API incompatibilities between C++ “versions”). You still want C++17? :slight_smile:

Maybe we can offer both (or 3?) builds on “Ubuntu 17.10 gcc 7.2 binaries.”?

I think Philippe’s proposal is very good (if there are really incompatibilities between libraries built with and without C++17).
For sure we need a ROOT binary version which is fully compatible with any default system provided libraries (which means that, if C++ related libraries on Ubuntu 18.04 LTS by default use C++17 then also ROOT should use it by default).

1 Like

Are there really ABI incompatibilities between C++11 and C++14/17? I’ve thought the last ABI break was a transition to C++11 (with non-refcounted strings etc.).

The official GCC 7 changes web page says nothing about any new ABI specific to C++17.
Though they explicitly say “experimental support for all of the current C++17 draft”.
Maybe then one should rather stay with C++14 (“full support”)?

And the answer is «yes». noexcept in C++17 is a part of a function type, so this will be reflected in name mangling.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.