And to be clear, devtoolset/softwarecollections.org is done by Red Hat - it's not some random third party repository providing some use-at-your-own-risk packages.
EPEL is extra packages, not usually newer packages. Software Collections is a variety of curated newer packages (including devtoolset, which includes GCC). https://www.softwarecollections.org
Then that's wonderful news to you: your long-release-cycle OS insulates you from every single worry about this update. This is why distributions like CentOS and Debian Stable exist.
(I just realized that might sound sarcastic to The Kids These Days, but it's 100% serious: that's the whole point of these long-term distributions, and those of us who have to manage large numbers of systems love it.)
I just want to add to that, just to offer a perspective that people not concerned with the upkeep of software always realize: In the general case, when you keep software around for long some bugs will linger. But as long as the issues are well known that's not necessarily a bad thing.
Sometimes you have to work around some corner case or performance anomaly in another layer. You don't want to apply fixes to underlying software willy-nilly without first re-evaluating what you did.
So sometimes stable distributions will avoid fixing bugs for good reason. (That doesn't go for security issues, of course.) And if that's not what you want most distributions have a more suitable branch for you.
> most distributions have a more suitable branch for you
Exactly. CentOS has Fedora, Debian has sid/ubuntu/derivatives, Slackware has -current. If you don't require a stable platform (and most developers don't) then you're welcome to join people on the unstable side of things, making the next stable side of things.
The problem is most of the time developers working with clusters do not have control of which distribution to use. TensorFlow was considered stable (or at least stable enough for research) for a long time before it can be used with glibc 2.12.
That's odd, I was able to compile both bazel and tensorflow from source since early spring 2016 on RHEL 6.5 (not that it was straight forward ...), so it should work for centOS as well.
If you care about the difference between C++98 and C++11, CentOS is probably not the distribution for you. CentOS is for administrators who need to support a years-long lifecycle of an existing program.
5.4.0 was just stabilized on amd64 in the last few weeks, so you're not far behind. You do have to rebuild a lot of packages (anything C++), but it all went smoothly for me.
I find them quite simple, but then, I'm on NixOS. :-)
Which is not an operating system I'd normally recommend to... anyone. If you like Gentoo, though, then you might quite appreciate its build system. Worth a look?
"The C++ frontend now has experimental support for ALL (emphasis added) of the current C++17
draft, with the -std=c++1z and -std=gnu++1z options, and the libstdc++
library has most of the C++17 draft library features implemented too.
The Address Sanitizer can now report uses of variables after leaving their
scope. GCC now can be configured for OpenMP 4.5 offloading to NVidia PTX
GPGPUs."
The above are some really intriguing nuggets, I will have to check this out this weekend.
29 comments
[ 3.5 ms ] story [ 63.4 ms ] thread[1]: https://www.softwarecollections.org/en/scls/rhscl/devtoolset...
> They haven't even made the switch to abi breaking 5.0
That's kind of the point of RHEL/CentOS releases... stability above all else.
RHEL/CentOS 8.x will likely include a much newer, but still not bleeding-edge version of gcc and friends.
You can always download the source and compile a newer gcc if you have that requirement... or perhaps try EPEL repo's.
(I just realized that might sound sarcastic to The Kids These Days, but it's 100% serious: that's the whole point of these long-term distributions, and those of us who have to manage large numbers of systems love it.)
Sometimes you have to work around some corner case or performance anomaly in another layer. You don't want to apply fixes to underlying software willy-nilly without first re-evaluating what you did.
So sometimes stable distributions will avoid fixing bugs for good reason. (That doesn't go for security issues, of course.) And if that's not what you want most distributions have a more suitable branch for you.
Exactly. CentOS has Fedora, Debian has sid/ubuntu/derivatives, Slackware has -current. If you don't require a stable platform (and most developers don't) then you're welcome to join people on the unstable side of things, making the next stable side of things.
Although one can always link statically...
For Debian/Ubuntu there are always backports and PPAs.
And you can require RHEL7, or ship them Docker images, or a statically compiled blob.
It's been years since I did a gcc update. They're not for the weak of heart of spirit. I might decide to do a full backup soon and do it again soon.
Which is not an operating system I'd normally recommend to... anyone. If you like Gentoo, though, then you might quite appreciate its build system. Worth a look?
The Address Sanitizer can now report uses of variables after leaving their scope. GCC now can be configured for OpenMP 4.5 offloading to NVidia PTX GPGPUs."
The above are some really intriguing nuggets, I will have to check this out this weekend.