I want to test ROOT6 beta 2 on my SLC6.5 linux virtual machine:
$ uname -a
Linux vmslc65 2.6.32-358.23.2.el6.x86_64 #1 SMP Thu Oct 17 10:27:22 CEST 2013 x86_64 x86_64 x86_64 GNU/Linux
$ gcc -dumpversion
As C++11 compliant compiler I installed clang from the SLC6 repositories, also because I would like to start using clang. In particular I installed:
Following your instructions, I downloaded the ROOT master branch with git:
and, following the method without CMake, I configured with:
Everything seems ok in the configure output but when I start the compilation it seems like if make is using the gcc header files instead of the correct clang files:
/usr/bin/../lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/move.h:57:14: error: rvalue reference to type 'typename std::remove_reference<StringRef &>::type'
(aka 'llvm::StringRef') cannot bind to lvalue of type 'llvm::StringRef'
thanks for trying out ROOT6: we are eager to collect feedback from our users!
Could you try installing gcc48 and repeat the exact same steps you describe in your post?
In addition, if I may add a suggestion, you could move to beta3: v5-99-06 which was tagged 9 days ago.
to make Danilo’s comment even more explicit: you can use clang but you still need a newer libstdc++ - which comes with newer GCCs. ROOT 6 requires libstdc++ of GCC 4.7 and up (or libc++ but that’s a different can of worms
I sorted out why I did not have gcc 4.8 (and cmake 2.8, and others…) on my SLC6. All this stuff comes from the devtools repository that I had never actived, used to old SLC repositories.
Ok, now I have it, but the problem is that the “default gcc” is still the old 4.4.7 … how do I specify that I want to compile with the freshly installed gcc4.8? I prefer to avoid removing the old gcc 4.4.7 because I think many my programs count on it.