V6-22-00 compilation error on CentOS 7 Docker container (g++ 7.3.1)

Dear ROOT-Team,

I get the following compilation error


ROOT Version: v6-22-00
Platform: CentOS 7 Docker container
Compiler: g++ 7.3.1


[6582/9115] Performing install step for 'OPENSSL'
-- OPENSSL install command succeeded.  See also /home/testuser/bdm-build-third-party/build/builtins/openssl/OPENSSL-prefix/src/OPENSSL-stamp/OPENSSL-install-*.log
[7440/9115] Generating G__ROOTHist.cxx, ../../lib/ROOTHist.pcm
FAILED: hist/histv7/G__ROOTHist.cxx lib/ROOTHist.pcm 
cd /home/testuser/bdm-build-third-party/build/hist/histv7 && /home/testuser/bdm-build-third-party/cmake-3.17.3/bin/cmake -E env LD_LIBRARY_PATH=/home/testuser/bdm-build-third-party/build/lib:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64/dyninst:/opt/rh/devtoolset-7/root/usr/lib/dyninst:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib ROOTIGNOREPREFIX=1 /home/testuser/bdm-build-third-party/build/bin/rootcling -rootbuild -v2 -f G__ROOTHist.cxx -cxxmodule -s /home/testuser/bdm-build-third-party/build/lib/libROOTHist.so -m MathCore.pcm -m Matrix.pcm -m RIO.pcm -excludePath /home/testuser/bdm-build-third-party/root -excludePath /home/testuser/bdm-build-third-party/build/ginclude -excludePath /home/testuser/bdm-build-third-party/build/externals -excludePath /home/testuser/bdm-build-third-party/build/builtins -I/home/testuser/bdm-build-third-party/build/include -I/home/testuser/bdm-build-third-party/root/hist/histv7/inc -I/home/testuser/bdm-build-third-party/root/core/unix/inc -I/home/testuser/bdm-build-third-party/root/core/base/v7/inc -I/home/testuser/bdm-build-third-party/root/core/clingutils/inc -I/home/testuser/bdm-build-third-party/root/core/textinput/inc -I/home/testuser/bdm-build-third-party/root/core/thread/inc -I/home/testuser/bdm-build-third-party/root/core/zip/inc -I/home/testuser/bdm-build-third-party/root/core/rint/inc -I/home/testuser/bdm-build-third-party/root/core/clib/inc -I/home/testuser/bdm-build-third-party/root/core/meta/inc -I/home/testuser/bdm-build-third-party/root/core/gui/inc -I/home/testuser/bdm-build-third-party/root/core/cont/inc -I/home/testuser/bdm-build-third-party/root/core/foundation/inc -I/home/testuser/bdm-build-third-party/root/core/base/inc -I/home/testuser/bdm-build-third-party/build/ginclude -I/home/testuser/bdm-build-third-party/root/hist/histv7/inc -I/home/testuser/bdm-build-third-party/root/math/mathcore/v7/inc -I/home/testuser/bdm-build-third-party/root/math/mathcore/inc -I/home/testuser/bdm-build-third-party/root/core/unix/inc -I/home/testuser/bdm-build-third-party/root/core/base/v7/inc -I/home/testuser/bdm-build-third-party/root/core/clingutils/inc -I/home/testuser/bdm-build-third-party/root/core/textinput/inc -I/home/testuser/bdm-build-third-party/root/core/thread/inc -I/home/testuser/bdm-build-third-party/root/core/zip/inc -I/home/testuser/bdm-build-third-party/root/core/rint/inc -I/home/testuser/bdm-build-third-party/root/core/clib/inc -I/home/testuser/bdm-build-third-party/root/core/meta/inc -I/home/testuser/bdm-build-third-party/root/core/gui/inc -I/home/testuser/bdm-build-third-party/root/core/cont/inc -I/home/testuser/bdm-build-third-party/root/core/foundation/inc -I/home/testuser/bdm-build-third-party/root/core/base/inc -I/home/testuser/bdm-build-third-party/build/ginclude -I/home/testuser/bdm-build-third-party/root/core/imt/inc -I/home/testuser/bdm-build-third-party/root/math/matrix/inc -I/home/testuser/bdm-build-third-party/root/math/mathcore/v7/inc -I/home/testuser/bdm-build-third-party/root/math/mathcore/inc -I/home/testuser/bdm-build-third-party/build/ginclude -I/home/testuser/bdm-build-third-party/root/core/base/inc -I/home/testuser/bdm-build-third-party/root/core/foundation/inc -I/home/testuser/bdm-build-third-party/root/core/cont/inc -I/home/testuser/bdm-build-third-party/root/core/gui/inc -I/home/testuser/bdm-build-third-party/root/core/meta/inc -I/home/testuser/bdm-build-third-party/root/core/clib/inc -I/home/testuser/bdm-build-third-party/root/core/rint/inc -I/home/testuser/bdm-build-third-party/root/core/zip/inc -I/home/testuser/bdm-build-third-party/root/core/thread/inc -I/home/testuser/bdm-build-third-party/root/core/textinput/inc -I/home/testuser/bdm-build-third-party/root/core/base/v7/inc -I/home/testuser/bdm-build-third-party/root/core/unix/inc -I/home/testuser/bdm-build-third-party/root/core/imt/inc -I/home/testuser/bdm-build-third-party/root/math/matrix/inc -I/home/testuser/bdm-build-third-party/root/io/io/v7/inc -I/home/testuser/bdm-build-third-party/root/io/io/inc -I/home/testuser/bdm-build-third-party/root/core/thread/inc -writeEmptyRootPCM ROOT/RAxis.hxx ROOT/RAxisConfig.hxx ROOT/RHist.hxx ROOT/RHistBinIter.hxx ROOT/RHistBufferedFill.hxx ROOT/RHistConcurrentFill.hxx ROOT/RHistData.hxx ROOT/RHistImpl.hxx ROOT/RHistUtils.hxx ROOT/RHistView.hxx /home/testuser/bdm-build-third-party/root/hist/histv7/inc/LinkDef.h
In file included from input_line_16:3:
/home/testuser/bdm-build-third-party/build/include/ROOT/RAxis.hxx:57:4: error: exception specification of explicitly defaulted default constructor does not match the calculated one
   RAxisBase() noexcept = default;
   ^
Error: /home/testuser/bdm-build-third-party/build/bin/rootcling: compilation failure (/home/testuser/bdm-build-third-party/build/lib/libROOTHist5574932874_dictUmbrella.h)
[7447/9115] Generating G__ROOTNTuple.cxx, ../../lib/ROOTNTuple.pcm
ninja: build stopped: subcommand failed.

I used the following configuration:

  cmake -G Ninja \
    -Dbuiltin_fftw3=ON \
    -Dbuiltin_freetype=ON \
    -Dbuiltin_ftgl=ON \
    -Dbuiltin_glew=ON \
    -Dbuiltin_gsl=ON \
    -Dbuiltin_lz4=ON \
    -Dbuiltin_lzma=ON \
    -Dbuiltin_openssl=ON \
    -Dbuiltin_pcre=ON \
    -Dbuiltin_tbb=ON \
    -Dbuiltin_unuran=ON \
    -Dbuiltin_xxhash=ON \
    -Dbuiltin_zlib=ON \
    -Dbuiltin_zstd=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_C_COMPILER=$CC \
    -DCMAKE_CXX_COMPILER=$CXX \
    -DCMAKE_INSTALL_PREFIX=$ROOT_INSTALL_DIR \
    -DCMAKE_CXX_STANDARD=14 \
    -DPYTHON_EXECUTABLE=`pyenv which python3` \
    $ROOTSRC

Here the CMake output

-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/gcc
-- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/gcc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/g++
-- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "1.8.3.1") 
-- Detected ROOT_VERSION 6.22.00
-- Looking for Python
-- Found Python3: /home/testuser/.pyenv/versions/3.6.9/bin/python3 (found version "3.6.9") found components: Interpreter Development NumPy 
-- ROOT default compression algorithm: zlib
-- PyROOT will be built for version 3.6.9
-- Found GCC. Major version 7, minor version 3
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found a 64bit system
-- Found GNU compiler collection
-- Performing Test GLIBCXX_USE_CXX11_ABI
-- Performing Test GLIBCXX_USE_CXX11_ABI - Failed
-- ROOT Platform: linux
-- ROOT Architecture: linuxx8664gcc
-- Build Type: Release (flags = '-O3 -DNDEBUG')
-- Compiler Flags: -O3 -DNDEBUG  -std=c++14 -Wno-implicit-fallthrough -Wno-noexcept-type -pipe  -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread
-- Binutils as version: 2.28
-- Performing Test SSE_FLAG
-- Performing Test SSE_FLAG - Success
-- Performing Test SSE_COMPILATION
-- Performing Test SSE_COMPILATION - Success
-- Performing Test SSE_RUN
-- Performing Test SSE_RUN - Success
-- Performing Test AVX2_FLAG
-- Performing Test AVX2_FLAG - Success
-- Performing Test AVX2_COMPILATION
-- Performing Test AVX2_COMPILATION - Failed
-- Performing Test AVX2_RUN
-- Performing Test AVX2_RUN - Failed
-- Building freetype version 2.6.1 included in ROOT itself
-- Building LZMA version 5.2.4 included in ROOT itself
-- Performing Test CXX_FLAG_STD_CPLUSPLUS11
-- Performing Test CXX_FLAG_STD_CPLUSPLUS11 - Success
-- Performing Test C_FLAG_STD_C99
-- Performing Test C_FLAG_STD_C99 - Success
-- Performing Test C_FLAG_WALL
-- Performing Test C_FLAG_WALL - Success
-- Performing Test CXX_FLAG_WALL
-- Performing Test CXX_FLAG_WALL - Success
-- Performing Test C_FLAG_WEXTRA
-- Performing Test C_FLAG_WEXTRA - Success
-- Performing Test CXX_FLAG_WEXTRA
-- Performing Test CXX_FLAG_WEXTRA - Success
-- Performing Test C_FLAG_WUNDEF
-- Performing Test C_FLAG_WUNDEF - Success
-- Performing Test CXX_FLAG_WUNDEF
-- Performing Test CXX_FLAG_WUNDEF - Success
-- Performing Test C_FLAG_WSHADOW
-- Performing Test C_FLAG_WSHADOW - Success
-- Performing Test CXX_FLAG_WSHADOW
-- Performing Test CXX_FLAG_WSHADOW - Success
-- Performing Test C_FLAG_WCAST_ALIGN
-- Performing Test C_FLAG_WCAST_ALIGN - Success
-- Performing Test CXX_FLAG_WCAST_ALIGN
-- Performing Test CXX_FLAG_WCAST_ALIGN - Success
-- Performing Test C_FLAG_WCAST_QUAL
-- Performing Test C_FLAG_WCAST_QUAL - Success
-- Performing Test CXX_FLAG_WCAST_QUAL
-- Performing Test CXX_FLAG_WCAST_QUAL - Success
-- Performing Test C_FLAG_WSTRICT_PROTOTYPES
-- Performing Test C_FLAG_WSTRICT_PROTOTYPES - Success
-- Looking for X11
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- X11_INCLUDE_DIR: /usr/include
-- X11_LIBRARIES: /usr/lib64/libSM.so;/usr/lib64/libICE.so;/usr/lib64/libX11.so;/usr/lib64/libXext.so
-- X11_Xpm_INCLUDE_PATH: /usr/include
-- X11_Xpm_LIB: /usr/lib64/libXpm.so
-- X11_Xft_INCLUDE_PATH: /usr/include
-- X11_Xft_LIB: /usr/lib64/libXft.so
-- X11_Xext_INCLUDE_PATH: /usr/include
-- X11_Xext_LIB: /usr/lib64/libXext.so
-- Could NOT find GIF (missing: GIF_LIBRARY GIF_INCLUDE_DIR) 
-- Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR) 
-- Found PNG: /usr/lib64/libpng.so (found version "1.5.13") 
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR) 
-- Looking for AfterImage
-- Could NOT find AfterImage (missing: AFTERIMAGE_INCLUDE_DIR AFTERIMAGE_LIBRARIES) 
-- AfterImage not found. Switching on builtin_afterimage option
-- Building AfterImage library included in ROOT itself
-- Looking for GSL
-- Downloading and building GSL version 2.5
-- Looking for OpenGL
-- Found OpenGL: /usr/lib64/libOpenGL.so   
-- Looking for gl2ps
-- Could NOT find gl2ps (missing: GL2PS_LIBRARY GL2PS_INCLUDE_DIR) 
-- gl2ps not found. Switching on builtin_gl2ps option
-- Looking for LibXml2
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.9.1") 
-- Found OpenSSL: /home/testuser/bdm-build-third-party/build/builtins/openssl/OPENSSL-prefix/include (found version "1.1.1g") 
-- Looking for MySQL
-- Found MySQL: /usr/include/mysql  
-- Looking for Oracle
-- Oracle not found.
-- Oracle: You can specify includes: -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client
--    currently found includes: 
-- Oracle: You can specify libs: -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib
--    currently found libs: ORACLE_LIBRARY_OCCI-NOTFOUND;ORACLE_LIBRARY_CLNTSH-NOTFOUND;ORACLE_LIBRARY_LNNZ-NOTFOUND
-- Oracle not found. Switching off oracle option
-- Looking for PostgreSQL
-- Could NOT find PostgreSQL (missing: PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR) 
-- PostgreSQL not found. Switching off pgsql option
-- Looking for SQLite
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1") 
-- Found Sqlite: /usr/include  
-- Looking for Pythia6
-- Pythia6 not found. Switching off pythia6 option
-- Looking for Pythia8
-- Could NOT find Pythia8 (missing: PYTHIA8_INCLUDE_DIR PYTHIA8_LIBRARY) 
-- Pythia8 not found. Switching off pythia8 option
-- Downloading and building FFTW version 3.3.8
-- Looking for CFITSIO
-- Could NOT find CFITSIO (missing: CFITSIO_LIBRARY CFITSIO_INCLUDE_DIR) 
-- CFITSIO not found. You can enable the option 'builtin_cfitsio' to build the library internally'
--                    For the time being switching off 'fitsio' option
-- Looking for XROOTD
-- XROOTD not found, enabling 'builtin_xrootd' option
-- Downloading and building XROOTD version 
-- Could NOT find GFAL (missing: GFAL_INCLUDE_DIR SRM_IFCE_INCLUDE_DIR GFAL_LIBRARY) 
-- GFAL library not found. Set variable GFAL_DIR to point to your gfal installation
                      and the variable SRM_IFCE_DIR to the srm_ifce installation
-- For the time being switching OFF 'gfal' option
-- Checking for module 'davix>=0.6.4'
--   No package 'davix' found
-- Looking for uuid_generate_random in uuid
-- Looking for uuid_generate_random in uuid - found
-- Found libuuid: /usr/include  
-- Davix dependencies not found, switching OFF 'davix' option.
-- Performing Test CXX_HAS_mno_rtm
-- Performing Test CXX_HAS_mno_rtm - Success
-- Looking for VDT
-- Could NOT find Vdt (missing: VDT_INCLUDE_DIR VDT_LIBRARY) (Required is at least version "0.4")
-- VDT not found. Ensure that the installation of VDT is in the CMAKE_PREFIX_PATH
--                Switching ON 'builtin_vdt' option
-- Cannot select cudnn without selecting cuda or tmva-gpu. Option is ignored
-- Looking for BLAS for optional parts of TMVA
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Could NOT find BLAS (missing: BLAS_LIBRARIES) 
-- Using GSL CBLAS for optional parts of TMVA
-- Performing Test ROOT_HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test ROOT_HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Building LLVM in 'Release' mode.
-- The ASM compiler identification is GNU
-- Found assembler: /opt/rh/devtoolset-7/root/usr/bin/gcc
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include  
-- Native target architecture is X86
-- Threads disabled.
-- Doxygen disabled.
-- Go bindings disabled.
-- LLVM host triple: x86_64-unknown-linux-gnu
-- LLVM default target triple: x86_64-unknown-linux-gnu
-- Building with -fPIC
-- Found PythonInterp: /home/testuser/.pyenv/versions/3.6.9/bin/python3 (found version "3.6.9") 
-- Constructing LLVMBuild project information
-- Linker detection: GNU ld
-- SysLibs: rt;dl;tinfo;-lpthread;$<TARGET_FILE:ZLIB>
-- Targeting X86
-- Targeting NVPTX
-- Clang version: 5.0.0
-- Cling version (from VERSION file): ROOT_0.7~dev
-- Cling will look for C++ headers in '/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7:/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/x86_64-redhat-linux:/opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/backward' at runtime.
-- And then fallback to: 'g++'
-- Performing Test CXX_HAS_Wno_maybe_uninitialized
-- Performing Test CXX_HAS_Wno_maybe_uninitialized - Success
-- Performing Test __result
-- Performing Test __result - Success
-- Performing Test CXX_HAS_fno_rtti
-- Performing Test CXX_HAS_fno_rtti - Success
-- Performing Test C_HAS_Wno_strict_overflow
-- Performing Test C_HAS_Wno_strict_overflow - Success
-- Performing Test C_HAS_Wno_maybe_uninitialized
-- Performing Test C_HAS_Wno_maybe_uninitialized - Success
-- Performing Test C_HAS_Wno_parentheses_equality
-- Performing Test C_HAS_Wno_parentheses_equality - Success
-- Looking for m
-- Looking for m - not found
-- Performing Test found_setresuid
-- Performing Test found_setresuid - Success
-- Performing Test found_stdstringview
-- Performing Test found_stdstringview - Failed
-- Performing Test found_stdexpstringview
-- Performing Test found_stdexpstringview - Success
-- Performing Test found_stod_stringview
-- Performing Test found_stod_stringview - Failed
-- Performing Test found_opplusequal_stringview
-- Performing Test found_opplusequal_stringview - Failed
-- Performing Test found_stdapply
-- Performing Test found_stdapply - Failed
-- Performing Test found_stdinvoke
-- Performing Test found_stdinvoke - Failed
-- Performing Test found_stdindexsequence
-- Performing Test found_stdindexsequence - Success
-- Performing Test found_attribute_always_inline
-- Performing Test found_attribute_always_inline - Success
-- Performing Test has_found_attribute_noinline
-- Performing Test has_found_attribute_noinline - Success
Running /home/testuser/bdm-build-third-party/root/build/unix/compiledata.sh
Making /home/testuser/bdm-build-third-party/build/ginclude/compiledata.h
-- Enabled support for:  asimage builtin_afterimage builtin_clang builtin_fftw3 builtin_freetype builtin_ftgl builtin_gl2ps builtin_glew builtin_gsl builtin_llvm builtin_lz4 builtin_lzma builtin_openssl builtin_pcre builtin_tbb builtin_unuran builtin_vdt builtin_xrootd builtin_xxhash builtin_zlib builtin_zstd clad dataframe exceptions fftw3 gdml http imt mathmore mlp mysql opengl pyroot roofit webgui root7 runtime_cxxmodules shared sqlite ssl tmva tmva-cpu tmva-pymva spectrum vdt x11 xml xrootd
-- Configuring done
-- Generating done

Compilation on ubuntu 16.04, 18.04, and 20.04 worked fine using the same configuration.

Many thanks in advance for your help!

Lukas

Hi Lukas,
I’m afraid CentOS + devtoolset is not an officially supported platform, see e.g. the discussion here. In other words we do not test compilation of ROOT with devtoolsets, so it can break like this without us noticing.

Sorry about that! Feel free to open a bug report about the compilation failure itself.
There are a few options to get ROOT 6.22 on CentOS7, e.g. installing via conda.

Cheers,
Enrico

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

@lbreitwi hey Lukas, just noticed this post…If it is relevant just disable -Droot7=OFF in CMake flags and it should work…

1 Like