iLCSoft / iLCInstall

Python scripts to install iLCSoft software and dependencies
GNU General Public License v3.0
4 stars 26 forks source link

Assembler errors with afs-version of ilcsoft for C++17 #82

Closed osdesy closed 4 years ago

osdesy commented 4 years ago

Hi,

I was using this installation of ilcsoft to compile MarlinTPC with C++17: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26

On naf-ilc-el7, I sourced the init_ilcsoft.sh of that version and tried to build the MarlinTPC trunk in the usual way:

cd trunk
mkdir build
cd build
cmake -C $ILCSOFT/ILCSoft.cmake ..
make

This usually results in immediate assembler errors of gcc.

Before, I had tried a custom version of an init script by @rete , with which it compiled "successfully" apart from real C++ errors and missing compatible ilcsoft dependencies.

The difference was in the compiler setup: Original:

export ILCSOFT=/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26

# -------------------------------------------------------------------- ---

# ---  Use the same compiler and python as used for the installation   ---

# -------------------------------------------------------------------- ---
export PATH=/cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin:/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-slc6-gcc8-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/lib64:/cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/lib:/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-slc6-gcc8-opt/lib:${LD_LIBRARY_PATH}

export CXX=g++
export CC=gcc

My changed version according to @rete 's script:

export ILCSOFT=/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26

# -------------------------------------------------------------------- ---

# ---  Use the same compiler and python as used for the installation   ---

# -------------------------------------------------------------------- ---
source /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/setup.sh
export PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-slc6-gcc8-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-slc6-gcc8-opt/lib:${LD_LIBRARY_PATH}

export CXX=g++
export CC=gcc

Difference: I source the setup script in the compiler's cvmfs installation directory. As far as I understand it, this adds binutils to the PATH and LIBs, which probably make everything compatible.

However, I don't know if that introduces additional effects and may influence the rest of ilcsoft in some undesired way.

I have seen similar constructions or explicit setting of binutils in earlier versions of ilcsoft (around 1-17-xx). Seemingly, they appeared and vanished, depending on compatibility of production machinery (NAF) and compiler tooling.

Related, I also tried to build on naf-ilc (sl6 machine), because of better resources. If I remember correctly, cmake complained that it was not able to compile a small piece of test code. I did not elaborate on that, as I got it running on el7, which is the upcoming platform, anyway.

rete commented 4 years ago

Hi Oliver, can you post an error message or a start of error message if it is too long ? Also, as you describe first, you are trying to run ilcsoft installed on sl6 and compiling code on el7. Can you try to re-run this with a coherent OS setup ?

osdesy commented 4 years ago

If I try on SL6 it indeed gets stuck in cmake: (Notice: trunkel7 is not tied in any way to el7, just a normal working copy of MarlinTPC trunk with activated C++17)

-bash-4.1$ source /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26/init_ilcsoft.sh 
/afs/desy.de/somewhere/MarlinTPC/trunkel7/build2

-bash-4.1$ cmake -C /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26/ILCSoft.cmake ..
loading initial cache file /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/HEAD-2019-11-26/ILCSoft.cmake
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin/gcc
-- Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin/gcc -- broken
CMake Error at /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/CMake/3.15.5/share/cmake-3.15/Modules/CMakeTestCCompiler.cmake:60 (message):
  The C compiler

    "/cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin/gcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/gmake cmTC_29f62/fast && /usr/bin/gmake -f CMakeFiles/cmTC_29f62.dir/build.make CMakeFiles/cmTC_29f62.dir/build
    gmake[1]: Entering directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeTmp'
    Building C object CMakeFiles/cmTC_29f62.dir/testCCompiler.c.o
    /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin/gcc    -o CMakeFiles/cmTC_29f62.dir/testCCompiler.c.o   -c /afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeTmp/testCCompiler.c                                                                                                                              
    Linking C executable cmTC_29f62                                                                                                                                                
    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_sl6/CMake/3.15.5/bin/cmake -E cmake_link_script CMakeFiles/cmTC_29f62.dir/link.txt --verbose=1                                    
    /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/bin/gcc      -rdynamic CMakeFiles/cmTC_29f62.dir/testCCompiler.c.o  -o cmTC_29f62                                  
    /usr/bin/ld: unrecognized option '-plugin'                                                                                                                                     
    /usr/bin/ld: use the --help option for usage information                                                                                                                       
    collect2: error: ld returned 1 exit status                                                                                                                                     
    gmake[1]: *** [cmTC_29f62] Fehler 1                                                                                                                                            
    gmake[1]: Leaving directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeTmp'                                                        
    gmake: *** [cmTC_29f62/fast] Fehler 2                                                                                                                                          

  CMake will not be able to correctly generate this project.                                                                                                                       
Call Stack (most recent call first):                                                                                                                                               
  CMakeLists.txt:7 (PROJECT)                                                                                                                                                       

-- Configuring incomplete, errors occurred!                                                                                                                                        
See also "/afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeOutput.log".                                                                       
See also "/afs/desy.de/somewhere/MarlinTPC/trunkel7/build2/CMakeFiles/CMakeError.log".                                                                       
rete commented 4 years ago

I tried with ILDPerformance just for a cross check and I have indeed the same error. I'll investigate.

rete commented 4 years ago

The problem disappears if I source the setup.sh file in the compiler path. In this case: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/setup.sh. As you mentioned before there is a bit more happening in the setup.sh file than just exporting PATH and LD_LIBRARY_PATH

osdesy commented 4 years ago

Here again for el7 with compatible init file:

-bash-4.2$ cmake -C $ILCSOFT/ILCSoft.cmake ..
loading initial cache file /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/ILCSoft.cmake
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/bin/gcc
-- Check for working C compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/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: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/bin/g++
-- Check for working CXX compiler: /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 
-- >>> Processing CMakeLists.txt for MarlinTPC ...
-- Check for ILCUTIL (1.5.0)
-- Found ILCSOFT_CMAKE_MODULES: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/ilcutil/v01-05/cmakemodules  
-- Found ILCUTIL: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/ilcutil/v01-05  
-- FLAGS -Wall;-Wextra;-Wshadow;-Weffc++;-pedantic;-Wno-long-long;-Wuninitialized;-Wl,-no-undefined
-- Performing Test CXX_FLAG_WORKS__Wall
-- Performing Test CXX_FLAG_WORKS__Wall - Success
-- Adding -Wall to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__Wextra
-- Performing Test CXX_FLAG_WORKS__Wextra - Success
-- Adding -Wextra to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__Wshadow
-- Performing Test CXX_FLAG_WORKS__Wshadow - Success
-- Adding -Wshadow to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__WeffcPP
-- Performing Test CXX_FLAG_WORKS__WeffcPP - Success
-- Adding -Weffc++ to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__pedantic
-- Performing Test CXX_FLAG_WORKS__pedantic - Success
-- Adding -pedantic to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__Wno_long_long
-- Performing Test CXX_FLAG_WORKS__Wno_long_long - Success
-- Adding -Wno-long-long to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__Wuninitialized
-- Performing Test CXX_FLAG_WORKS__Wuninitialized - Success
-- Adding -Wuninitialized to CXX_FLAGS
-- Performing Test CXX_FLAG_WORKS__Wl,_no_undefined
-- Performing Test CXX_FLAG_WORKS__Wl,_no_undefined - Success
-- Adding -Wl,-no-undefined to CXX_FLAGS
-- NOT building with CXX11 standard
-- 
-- >>> Processing CMakeLists.txt for TPCCondData ...
-- TPCCondData_INSTALL_PREFIX is /afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata - overwrite with -D CMAKE_INSTALL_PREFIX
-- 64 bit architecture detected
-- Build in native 64 bit mode
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components:  doxygen dot 
-- Check for LCIO (2.13.1)
-- Check for LCIO_LIBRARIES: lcio;sio
-- Check for LCIO_LCIO_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD/lib/liblcio.so -- ok
-- Check for LCIO_SIO_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD/lib/libsio.so -- ok
-- Found LCIO: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD  
-- Check for LCCD (1.5.0)
-- Check for LCCD_LIBRARIES: lccd
-- Check for LCCD_LCCD_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lccd/HEAD/lib/liblccd.so -- ok
-- Found LCCD: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lccd/HEAD  
-- TPCCondData being built as part of parent project in /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/tpcconddata, export variables ...
-- <<< Processing CMakeLists.txt for TPCCondData done.

-- CMAKE_INSTALL_PREFIX is /afs/desy.de/somewhere/MarlinTPC/trunkel7 - overwrite with -D CMAKE_INSTALL_PREFIX
-- Check for Marlin (1.16.0)
-- Check for Marlin_LIBRARIES: Marlin;MarlinXML
-- Check for Marlin_MARLIN_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Marlin/HEAD/lib/libMarlin.so -- ok
-- Check for Marlin_MARLINXML_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Marlin/HEAD/lib/libMarlinXML.so -- ok
-- Found Marlin: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Marlin/HEAD (Required is at least version "1.0") 
-- Check for LCCD (1.5.0)
-- Check for LCCD_LIBRARIES: lccd
-- Check for LCCD_LCCD_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lccd/HEAD/lib/liblccd.so -- ok
-- Check for AIDA (1.9.0)
-- Check for RAIDA_LIBRARIES: RAIDA
-- Check for RAIDA_RAIDA_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/RAIDA/HEAD/lib/libRAIDA.so -- ok
-- Found RAIDA: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/RAIDA/HEAD  
-- Check for GSL (2.6)
-- Check for GSL_LIBRARIES: gsl;gslcblas
-- Check for GSL_GSL_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/gsl/2.6/lib/libgsl.so -- ok
-- Check for GSL_GSLCBLAS_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/gsl/2.6/lib/libgslcblas.so -- ok
-- Found GSL: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/gsl/2.6/include  
-- Check for KalTest (2.5.0)
-- Check for KalTest_LIBRARIES: KalTest
-- Check for KalTest_KALTEST_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalTest/HEAD/lib/libKalTest.so -- ok
-- Found KalTest: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalTest/HEAD  
-- Check for KalDet (1.14.1)
-- Check for KalDet_LIBRARIES: KalDet
-- Check for KalDet_KALDET_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalDet/HEAD/lib/libKalDet.so -- ok
-- Found KalDet: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalDet/HEAD  
-- Check for PathFinder: it works
-- Check for GBL: it works
-- Check for MarlinUtil (1.15.1)
CMake Warning (dev) at /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinUtil/HEAD/MarlinUtilConfig.cmake:48 (FIND_PACKAGE):
  Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
  Run "cmake --help-policy CMP0074" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Environment variable DD4hep_ROOT is set to:

    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/DD4hep/HEAD

  For compatibility, CMake is ignoring the variable.
Call Stack (most recent call first):
  CMakeLists.txt:80 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Including DD4hepBuild.cmake
-- Found Boost: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/boost/1.71.0/include (found version "1.71.0")  
-- |++> Compiler supports filesystem when linking against stdc++fs
-- DD4hep uses Geant4
-- DD4hep uses LCIO
-- Check for LCIO (2.13.1)
-- Check for LCIO_LIBRARIES: lcio;sio
-- Check for LCIO_LCIO_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD/lib/liblcio.so -- ok
-- Check for LCIO_SIO_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD/lib/libsio.so -- ok
-- Found DD4hep: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/DD4hep/HEAD  
-- Check for MarlinUtil_LIBRARIES: MarlinUtil;MarlinUtilAnn
-- Check for MarlinUtil_MARLINUTIL_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinUtil/HEAD/lib/libMarlinUtil.so -- ok
-- Check for MarlinUtil_MARLINUTILANN_LIBRARY: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinUtil/HEAD/lib/libMarlinUtilAnn.so -- ok
-- Found MarlinUtil: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinUtil/HEAD  
-- Check for KalTest + KalDet -- works
-- GBL library version 2.1.6
-- Use FindEigen3.cmake from this GBL_DIR: /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/GBL/HEAD/cmake
-- Found Eigen3: /usr/include/eigen3 (Required is at least version "2.91.0") 
CMake Warning at CMakeLists.txt:196 (MESSAGE):
  *****************************************************

      removing ./reconstruction/pixelbased/src/GridPixXrayObjectCalculatorProcessor.cc from build 
      as it is not compatible with ROOT6 !!!! 
     *****************************************************

-- 
-- -------------------------------------------------------------------------------
-- Change values with: cmake -D<Variable>=<Value>
-- CMAKE_INSTALL_PREFIX = /afs/desy.de/somewhere/MarlinTPC/trunkel7
-- CMAKE_BUILD_TYPE = RelWithDebInfo
-- BUILD_SHARED_LIBS = ON
-- BUILD_TESTING = ON
-- INSTALL_DOC = OFF
-- CMAKE_PREFIX_PATH =
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lccd/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Marlin/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinUtil/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinReco/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/PandoraPFANew/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/LCFIVertex/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinKinfit/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/MarlinTrk/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KiTrack/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KiTrackMarlin/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Clupatra/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/FCalClusterer/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/pathfinder/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/RAIDA/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalTest/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/KalDet/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/GBL/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/xercesc/Xerces-C_3_2_2/lib/cmake/XercesC;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/DD4hep/HEAD/cmake;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/aidaTT/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/DDKalTest/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/CED/v01-09-02;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/gear/HEAD;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/sio/v00-00-02;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/root/6.18.04/cmake;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/CLHEP/2.3.4.3/lib/CLHEP-2.3.4.3;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/Qt5/v5.13.1/lib/cmake/Qt5;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/geant4/10.04.p03/lib/Geant4-10.4.3;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/geant4/10.04.p03/lib64/Geant4-10.4.3;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/CondDBMySQL/CondDBMySQL_ILC-0-9-7;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/ilcutil/v01-05;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/boost/1.71.0/lib/cmake/Boost-1.71.0;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/eigen/3.3.7/share/eigen3/cmake;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/ilcutil/v01-05;
-- CMAKE_MODULE_PATH =
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/ilcutil/v01-05/cmakemodules;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/DD4hep/HEAD/cmake;
--    /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/GBL/HEAD/cmake;
-- -------------------------------------------------------------------------------
-- 
CMake Warning (dev) at /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/ilcutil/v01-05/cmakemodules/MacroGeneratePackageConfigFiles.cmake:37 (EXPORT_LIBRARY_DEPENDENCIES):
  Policy CMP0033 is not set: The export_library_dependencies command should
  not be called.  Run "cmake --help-policy CMP0033" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  CMakeLists.txt:451 (GENERATE_PACKAGE_CONFIGURATION_FILES)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- <<< Processing CMakeLists.txt for MarlinTPC done.
--
-- Configuring done
-- Generating done
-- Build files have been written to: /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3

CMake runs through, but make results in assembler errors:

/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/CMake/3.15.5/bin/cmake -S/afs/desy.de/somewhere/MarlinTPC/trunkel7 -B/afs/desy.de/somewhere/
ilcsoft/MarlinTPC/trunkel7/build3 --check-build-system CMakeFiles/Makefile.cmake 0
/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/CMake/3.15.5/bin/cmake -E cmake_progress_start /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/CMakeFile
s /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
make -f tpcconddata/CMakeFiles/TPCCondData.dir/build.make tpcconddata/CMakeFiles/TPCCondData.dir/depend
make[2]: Entering directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
cd /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3 && /afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/CMake/3.15.5/bin/cmake -E cmake_depends "Unix Makefiles" /afs/desy.de/somewhere/MarlinTPC/trunkel7 /afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3 /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/tpcconddata /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/tpcconddata/CMakeFiles/TPCCondData.dir/DependInfo.cmake --color=
Scanning dependencies of target TPCCondData
make[2]: Leaving directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
make -f tpcconddata/CMakeFiles/TPCCondData.dir/build.make tpcconddata/CMakeFiles/TPCCondData.dir/build
make[2]: Entering directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
[  1%] Building CXX object tpcconddata/CMakeFiles/TPCCondData.dir/src/ADCChannelMapping.o
cd /afs/desy.de/somewhere/MarlinTPC/trunkel7/build3/tpcconddata && /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/bin/g++  -DTPCCondData_EXPORTS -DUSE_LCCD -I/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lcio/HEAD/include -I/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/lccd/HEAD/include -I/afs/desy.de/project/ilcsoft/sw/x86_64_gcc82_centos7/HEAD-2019-11-29/CLHEP/2.3.4.3/lib/CLHEP-2.3.4.3/../../include -I/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/include  -fdiagnostics-color=auto -Wl,-no-undefined -Wuninitialized -Wno-long-long -pedantic -Weffc++ -Wshadow -Wextra -Wall  -fmessage-length=0 -O2 -g -fPIC   -std=gnu++17 -o CMakeFiles/TPCCondData.dir/src/ADCChannelMapping.o -c /afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc
In file included from /afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc:5:
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/include/ADCChannelMapping.h:36:11: warning: ‘class tpcconddata::ADCChannelMapping’ has pointer data members [-Weffc++]
     class ADCChannelMapping : public  EVENT::LCGenericObject
           ^~~~~~~~~~~~~~~~~
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/include/ADCChannelMapping.h:36:11: warning:   but does not override ‘tpcconddata::ADCChannelMapping(const tpcconddata::ADCChannelMapping&)’ [-Weffc++]
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/include/ADCChannelMapping.h:36:11: warning:   or ‘operator=(const tpcconddata::ADCChannelMapping&)’ [-Weffc++]
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc: In constructor ‘tpcconddata::ADCChannelMapping::ADCChannelMapping(int, int, int, int, int)’:
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc:21:5: warning: ‘tpcconddata::ADCChannelMapping::_myObj’ should be initialized in the member initialization list [-Weffc++]
     ADCChannelMapping::ADCChannelMapping(int channelID, int padIndex, int type , int moduleID,
     ^~~~~~~~~~~~~~~~~
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc: In constructor ‘tpcconddata::ADCChannelMapping::ADCChannelMapping(EVENT::LCObject*)’:
/afs/desy.de/somewhere/MarlinTPC/trunkel7/tpcconddata/src/ADCChannelMapping.cc:36:5: warning: ‘tpcconddata::ADCChannelMapping::_myObj’ should be initialized in the member initialization list [-Weffc++]
     ADCChannelMapping::ADCChannelMapping(EVENT::LCObject* rawObject)
     ^~~~~~~~~~~~~~~~~
/tmp/ccJe6tvx.s: Assembler messages:
/tmp/ccJe6tvx.s:13: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:13: Error: junk at end of line, first unrecognized character is `-'
/tmp/ccJe6tvx.s:15: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:15: Error: unknown pseudo-op: `.lvu1'
/tmp/ccJe6tvx.s:16: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:16: Error: unknown pseudo-op: `.lvu2'
/tmp/ccJe6tvx.s:31: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:31: Error: junk at end of line, first unrecognized character is `-'
/tmp/ccJe6tvx.s:33: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:33: Error: unknown pseudo-op: `.lvu4'
/tmp/ccJe6tvx.s:37: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:37: Error: unknown pseudo-op: `.lvu5'
/tmp/ccJe6tvx.s:38: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:38: Error: unknown pseudo-op: `.lvu6'
/tmp/ccJe6tvx.s:40: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:40: Error: unknown pseudo-op: `.lvu7'
/tmp/ccJe6tvx.s:42: Error: unknown .loc sub-directive `view'
...
/tmp/ccJe6tvx.s:9292: Error: unknown .loc sub-directive `view'
/tmp/ccJe6tvx.s:9292: Error: unknown pseudo-op: `.lvu2007'
make[2]: *** [tpcconddata/CMakeFiles/TPCCondData.dir/src/ADCChannelMapping.o] Fehler 1
make[2]: Leaving directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
make[1]: *** [tpcconddata/CMakeFiles/TPCCondData.dir/all] Fehler 2
make[1]: Leaving directory `/afs/desy.de/somewhere/MarlinTPC/trunkel7/build3'
make: *** [all] Fehler 2
rete commented 4 years ago

Can you try by sourcing the setup.sh file where the compiler is ?

osdesy commented 4 years ago

With this change:

source /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/setup.sh
export PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-centos7-gcc8-opt/bin:${PATH}
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_96/Python/2.7.16/x86_64-centos7-gcc8-opt/lib:${LD_LIBRARY_PATH}

it compiles normally on el7- until real C++ errors. Note, that I remove the compiler entries from PATH and LD_LIBRARY_PATH, as they would be probably doubled by setup.sh

rete commented 4 years ago

OK, thanks then we need to automatically source this setup.sh file in init_ilcsoft.sh. I'll work on a fix.

osdesy commented 4 years ago

Yes, but as I said, that script sources other scripts recursively, so there might be more things going on that could have side effects, e.g. if people use the setup to build other components of ilcsoft.

rete commented 4 years ago

To compile iLCSoft itself, we source this file in any case. So it would be the right thing to do in init_ilcsoft.sh in any case.