ARM Fixes, master branch (2020.11.11.)
These are updates I had to make to be able to compile the code against the aarch64-centos7-gcc9-opt
LCG nightly from:
/cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/
I am able to compile the code, with these changes in place, like:
[bash][techlab-arm64-thunderx2-01]:build > source /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/latest/aarch64-centos7-gcc9-opt/setup.sh
[bash][techlab-arm64-thunderx2-01]:build > cmake -DCMAKE_BUILD_TYPE=Release -DGAUDI_USE_DOXYGEN=FALSE -DGAUDI_USE_GPERFTOOLS=FALSE ../GaudiGaudi/
-- The CXX compiler identification is GNU 9.2.0
-- Check for working CXX compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-6bb1e/aarch64-centos7/bin/g++
-- Check for working CXX compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-6bb1e/aarch64-centos7/bin/g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Found Python: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/bin/python3.8 (found suitable version "3.8.6", minimum required is "3.7") found components: Interpreter Development
-- Found ROOT: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/cmake (found version 6.22.02)
-- Found TBB: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include (found version "2020.2.11102.2") found components: tbb malloc malloc_proxy
-- Found UUID: /usr/include
-- Import target: UUID::uuid
-- Found ZLIB: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/lib/libz.so (found suitable version "1.2.11", minimum required is "1.2.11")
-- Found Rangev3: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include
-- Import target: Rangev3::rangev3
-- Found cppgsl: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include
-- Import target: cppgsl::cppgsl
-- Found nlohmann_json: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/lib64/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.9.1")
-- Found AIDA: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/src/cpp
-- Import target: AIDA::aida
-- Found XercesC: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/lib/libxerces-c.so (found version "3.2.3")
-- Found HepPDT: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include
-- Import target: HepPDT::heppdt
-- Found CppUnit: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include
-- Import target: CppUnit::cppunit
-- Found unwind: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/include
-- Import target: unwind::unwind
-- Found jemalloc: /cvmfs/sft-nightlies.cern.ch/lcg/views/devARM/Wed/aarch64-centos7-gcc9-opt/lib/libjemalloc.so
-- Import target: jemalloc::jemalloc
-- Gaudi's required optional dependencies found:
* AIDA
* XercesC
* CLHEP (required version >= 2.4.0.1)
* HepPDT
* CppUnit
* unwind
* jemalloc
-- Gaudi will be built using C++17 standard.
CMake Warning at GaudiKernel/CMakeLists.txt:31 (message):
using internal VectorClass instrset_detect (2.01.02)
-- Using VectorClass instrset_detect 1.25 at /build/krasznaa/GaudiGaudi/GaudiKernel/src/contrib
-- GaudiProfiling: the module PerfMon profiler is disabled
-- GaudiProfiling: the module Google PerfTools profiler is disabled
-- GaudiProfiling: the module Intel VTune profiler is disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /build/krasznaa/build
[bash][techlab-arm64-thunderx2-01]:build > make -j256
Scanning dependencies of target Gaudi_confuserdb
Scanning dependencies of target GaudiExamples_confuserdb
Scanning dependencies of target GaudiKernelDict-gen
Scanning dependencies of target GaudiMPDict-gen
Scanning dependencies of target GaudiPythonDict-gen
Scanning dependencies of target RootCnvDict-gen
Scanning dependencies of target GaudiExamplesDict-gen
Scanning dependencies of target makeThesis
Scanning dependencies of target PyCPUFamily
Scanning dependencies of target GaudiPluginService
Scanning dependencies of target PyExample
[ 1%] Generating ConfigurableUser of GaudiExamples
[ 0%] Generating GaudiKernelDict.cxx and GaudiKernelDict.rootmap and GaudiKernelDict_rdict.pcm
[ 2%] Building CXX object GaudiProfiling/CMakeFiles/PyCPUFamily.dir/src/python/CPUFamily.cpp.o
[ 2%] Building CXX object GaudiHive/CMakeFiles/makeThesis.dir/src/bin/makeThesis.cpp.o
[ 2%] Generating RootCnvDict.cxx and RootCnvDict.rootmap and RootCnvDict_rdict.pcm
[ 1%] Generating ConfigurableUser of Gaudi
[ 2%] Generating GaudiExamplesDict.cxx and GaudiExamplesDict.rootmap and GaudiExamplesDict_rdict.pcm
[ 2%] Generating GaudiPythonDict.cxx and GaudiPythonDict.rootmap and GaudiPythonDict_rdict.pcm
[ 2%] Generating GaudiMPDict.cxx and GaudiMPDict.rootmap and GaudiMPDict_rdict.pcm
[ 3%] Building CXX object GaudiExamples/CMakeFiles/PyExample.dir/src/PythonModule/Functions.cpp.o
[ 3%] Building CXX object GaudiExamples/CMakeFiles/PyExample.dir/src/PythonModule/PyExample.cpp.o
...
Turning off Doxygen is necessary since that's simply not part of the devARM nightly (yet). However GPerfTools usage needs to be disabled because of:
https://sft.its.cern.ch/jira/browse/SPI-1747
Which is a bit more annoying.
This is meant to fix/address ATEAM-669.