Hi @pamputt,
building with cxx14 is in fact the only way to get ROOT7
@Reik this errors usually appear when you build ROOT with the c++11 standard, and later you re-build, from the same build directory, specifying c++14. ROOT’s CMake is not able to do the late C++ standard swtich.
Building ROOT from an empty build directory should fix it.
To be on the safe side, I removed the entire root directory (including the build directory). I downloaded the source files and built it again(in an empty build directory).
I got the same error.
Alright, what is the exact cmake configuration command you are giving? And can you confirm that include/RConfigure.h in the build directory contains the line
Are you adding -std=c++14 by hand to CXXFLAGS? To compile ROOT with C++14, you should call CMake with -Dcxx14=ON with 6.16.00, or -DCMAKE_CXX_STANDARD=14 with later versions (CMake’s way of configuring it).
The cmake configuration command I am using is - cmake -Dbuiltin_lz4=ON -Dbuiltin_lzma=ON -Dbuiltin_tbb=ON -Dbuiltin_zlib=ON -Dcuda=ON -Dcxx11=OFF -Dcxx14=ON -Dpyroot_experimental=ON -Dqt=ON -Dqt5web=ON -Droot7=ON -Dtmva-gpu=ON ..
Yes, include/RConfigure.h contains the line #undef R__HAS_STD_INDEX_SEQUENCE
Uhm i don’t see anything particularly out of place.
From an empty build directory, can you try just cmake -Droot7=ON path/to/root/source and then make?
If this works (root7 implies cxx14) you can work from there, adding options until it breaks.
If that doesn’t work… there’s something we are missing.
Are you sure? That’s odd, as far as I can tell that flag is completely harmless.
Can you copy-paste the minimal cmake configuration command that breaks ROOT compilation (when starting from an empty build directory)?
We need to be able to reproduce the problem to take a closer look.
The build completed successfully with all the flags I posted above.
This must have been some error on my side. It might have been because of a conflict with a previous installation - which I removed before performing this build (but, I did not source those files from my bashrc and they were simply present in my system in /usr/ so I am not sure why this error occurred).
Anyhow it is working perfectly now and all is good