Using an up-to-date alidist repository and the current QC master branch, QC compilation on SLC7 fails with arrow 0.17, which was recently bumped from 0.14 in alidist (see commit 1377d), with the following error in the root dictionary generation:
[ 0%] Generating G__QualityControlTypes.cxx, ../lib/G__QualityControlTypes_rdict.pcm, ../lib/libQualityControlTypes.rootmap
Scanning dependencies of target QualityControlTypes
[ 1%] Building CXX object Framework/CMakeFiles/QualityControlTypes.dir/src/MonitorObject.cxx.o
[ 2%] Building CXX object Framework/CMakeFiles/QualityControlTypes.dir/G__QualityControlTypes.cxx.o
[ 2%] Building CXX object Framework/CMakeFiles/QualityControlTypes.dir/src/Quality.cxx.o
[ 2%] Building CXX object Framework/CMakeFiles/QualityControlTypes.dir/src/QualityObject.cxx.o
[ 2%] Linking CXX shared library ../lib/libQualityControlTypes.so
[ 2%] Built target QualityControlTypes
[ 2%] Generating G__QualityControl.cxx, ../lib/G__QualityControl_rdict.pcm, ../lib/libQualityControl.rootmap
In file included from input_line_11:68:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/DataProcessorSpec.h:13:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/AlgorithmSpec.h:13:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/ProcessingContext.h:14:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/DataAllocator.h:30:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/TableTreeHelpers.h:16:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/TableBuilder.h:14:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/ASoA.h:19:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/O2/0_O2_DATAFLOW-1/include/Framework/Expressions.h:19:
In file included from /home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/type.h:29:
/home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/result.h:34:12: error: no member named 'launder' in namespace 'std'
using std::launder;
~~~~~^
/home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/result.h:400:23: error: no member named 'launder' in namespace 'arrow::internal'
return *internal::launder(reinterpret_cast<const T*>(&data_));
~~~~~~~~~~^
/home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/result.h:403:42: error: no member named 'launder' in namespace 'arrow::internal'
T& ValueUnsafe() & { return *internal::launder(reinterpret_cast<T*>(&data_)); }
~~~~~~~~~~^
/home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/result.h:408:33: error: no member named 'launder' in namespace 'arrow::internal'
return std::move(*internal::launder(reinterpret_cast<T*>(&data_)));
~~~~~~~~~~^
/home/flp/alibuild-test/alice/sw/slc7_x86-64/arrow/v0.17.0-1/include/arrow/result.h:422:17: error: no member named 'launder' in namespace 'arrow::internal'
internal::launder(reinterpret_cast<const T*>(&data_))->~T();
~~~~~~~~~~^
Error: /home/flp/alibuild-test/alice/sw/slc7_x86-64/ROOT/v6-20-02-alice6-1/bin/rootcling: compilation failure (/home/flp/alibuild-test/alice/sw/BUILD/db54936dd74e37faa0d712fb5ffdc49ab729f7c0/QualityControl/Framework/G__QualityControlbc94411e08_dictUmbrella.h)
Error copying file (if different) from "/home/flp/alibuild-test/alice/sw/BUILD/db54936dd74e37faa0d712fb5ffdc49ab729f7c0/QualityControl/Framework/G__QualityControl_rdict.pcm" to "/home/flp/alibuild-test/alice/sw/BUILD/db54936dd74e37faa0d712fb5ffdc49ab729f7c0/QualityControl/lib/G__QualityControl_rdict.pcm".
gmake[2]: *** [Framework/G__QualityControl.cxx] Error 1
gmake[1]: *** [Framework/CMakeFiles/QualityControl.dir/all] Error 2
gmake: *** [all] Error 2
The code compiles fine with arrow 0.14.