3 ms·
A couple of things: - RH devtoolset doesn't support clang, only gcc -The compilers installed with the devtoolset packages on RH/CentOS 6 & 7 do not support th
by wallstprog 6y ago
A couple of things:
- RH devtoolset doesn't support clang, only gcc
-The compilers installed with the devtoolset packages on RH/CentOS 6 & 7 do not support the _GLIBCXX_USE_CXX11_ABI flag -- the old ABI (COW strings) is the only one supported. See https://bugzilla.redhat.com/show_bug.cgi?id=1546704 https://bugzilla.redhat.com/show_bug.cgi?id=1546704 and https://stackoverflow.com/questions/50836145/glibcxx-use-cxx11-abi-disabled-on-rhel6-and-rhel7 https://stackoverflow.com/questions/50836145/glibcxx-use-cxx... for more info.
- LinuxBender 6y agoFor clang, you can use: scl_source enable llvm-toolset-7 though I can't speak to any workarounds for the _GLIBCXX_USE_CXX11_ABI flag.
- wallstprog 6y agoThanks -- good to know about clang, although it does appear that the most recent version supported is clang 7 (Ubuntu defaults to 10, and supports 11). That's to be expected with RH/Centos, which again is one reason why e.g., Ubuntu can be easier to work with. I'm also not sure I've bought in to the way the devtoolset stuff works, by swapping symlinks around. AFAICT that means that only one version is available at any given time. If you build and install your own tools, you can (and should) install them in a non-standard location -- once you do that, it's relatively simple to support multiple versions at the same time. Although if it wasn't for the COW vs. SSO strings problem, I would have spent more time on the devtoolset approach, but the lack of true C++11-style strings was a deal-breaker for me. I would much prefer not to be building compilers, although once you've done it once, it's not too bad.
- LinuxBender 6y agoMakes sense. Was hoping that devtoolset and llvmtoolset would be useful, but probably not in your case. I only mention them because a lot of folks never heard of it and they sometimes end up doing really complicated work arounds in omnibus or other frameworks.