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!
for the ROOT Team.
FWIW I had to add
#include <algorithm> to
graf2d/gpad/v7/src/TPadUserAxis.cxx so that
std::max wasn’t missing.
thanks a lot for your report.
The issue was fixed in commit a3cb09cb59 but unfortunately it did not make it into the patch release.
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
You mean the CC7 binaries? Yes - we really don’t want to see GCC4.8 do C++14 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.
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?
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).
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.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.