Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FTBFS: Can't generate root dictionaries on ifarm #80

Open
DraTeots opened this issue Nov 12, 2020 · 1 comment
Open

FTBFS: Can't generate root dictionaries on ifarm #80

DraTeots opened this issue Nov 12, 2020 · 1 comment
Labels
ftbfs Fails to build from source

Comments

@DraTeots
Copy link
Contributor

DraTeots commented Nov 12, 2020

The issue is straight forward to reproduce. On ifarm:

Environment:

source /cvmfs/eic.opensciencegrid.org/packages/setup-env.sh
spack load --first eic os=centos7
spack load --first gcc os=centos7

Example package:

mkdir dirc && cd dirc
git clone https://github.com/rdom/prttools
git clone https://github.com/rdom/eicdirc
mkdir build && cd build
cmake -DCMAKE_CXX_STANDARD=17 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ../eicdirc

Resulting error:

../rootcling -v2 -f G__Prt.cxx -s /home/romanov/dirc/build/libPrt.so -rml libPrt.so -rmf /home/romanov/dirc/build/libPrt.rootmap -DG4UI_USE_TCSH -DG4INTY_USE_QT -DG4UI_USE_QT -DG4VIS_USE_OPENGLQT -DG4VIS_USE_OPENGL -I/cvmfs/eic.opensciencegrid.org/packages/clhep/2.4.1.3/linux-centos7-x86_64-gcc-9.3.0-vpphhq4z55o6paocmxi2tgsowvog3q73/lib/CLHEP-2.4.1.3/../../include -I/cvmfs/eic.opensciencegrid.org/packages/geant4/10.6.2/linux-centos7-x86_64-gcc-9.3.0-bdlgoee3hwsaszkcxbgapbmx2xjemwmc/include/Geant4 -I/cvmfs/eic.opensciencegrid.org/packages/root/6.20.04/linux-centos7-x86_64-gcc-9.3.0-qiipdiw4t4m3mgmy6mjiixfmv2poh43w/include -I/home/romanov/dirc/eicdirc/src -I/home/romanov/dirc/eicdirc -std=c++17 PrtHit.h PrtEvent.h PrtLutNode.h PrtAmbiguityInfo.h PrtPhotonInfo.h PrtTrackInfo.h /home/romanov/dirc/eicdirc/src/PrtLinkDef.h


In file included from input_line_11:18:
In file included from /home/romanov/dirc/eicdirc/src/PrtHit.h:13:

In file included from /cvmfs/eic.opensciencegrid.org/packages/root/6.20.04/linux-centos7-x86_64-gcc-9.3.0-qiipdiw4t4m3mgmy6mjiixfmv2poh43w/include/TVector3.h:16:

...
In file included from /cvmfs/eic.opensciencegrid.org/packages/root/6.20.04/linux-centos7-x86_64-gcc-9.3.0-qiipdiw4t4m3mgmy6mjiixfmv2poh43w/include/TString.h:28:

/cvmfs/eic.opensciencegrid.org/packages/root/6.20.04/linux-centos7-x86_64-gcc-9.3.0-qiipdiw4t4m3mgmy6mjiixfmv2poh43w/include/ROOT/RStringView.hxx:19:10: fatal error: 'string_view' file not found
#include <string_view>

So the error is with rootcling and my guess, that it happens because old libstdc++ is used by rootcling:

/sbin/ldconfig -p | grep stdc++
        libstdc++.so.6 (libc6,x86-64) => /lib64/libstdc++.so.6
        libstdc++.so.6 (libc6) => /lib/libstdc++.so.6

This QA kind of agrees with me. But it is not 100% clear.

Why it is here? - first, because everything builds on my ubuntu 18.04 and 20.04 and it kind of a problem of spack+ifarm environment, so all other users compiling somehting with root IO will be in the same trap. Finally I hope for Wouter's help as I feel helpless in the face of ifarm and cvmfs installation at this point (tried building it for 3 weeks).

Why -DCMAKE_CXX_STANDARD=17 and root ~gminimal? - When first I tried to build things on my machine, I stumbled at string_view issue. But that was another issue, standard root header problem which is solved by -std=c++17 on compiler level. Then I experienced TSpectre problem and came to ~gminimal. But when it still didn't work on ifarm I figured out that the problem is different and it is in cling. My hope was on updated environment with gcc provided by spack, but it didn't help.

@DraTeots
Copy link
Contributor Author

CMake output

 cmake -DCMAKE_CXX_STANDARD=17 ../eicdirc
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /cvmfs/eic.opensciencegrid.org/packages/gcc/9.3.0/linux-centos7-x86_64-gcc-4.8.5-t6vopxdfdkglw5wuh4zqsehr5thkkyub/bin/gcc
-- Check for working C compiler: /cvmfs/eic.opensciencegrid.org/packages/gcc/9.3.0/linux-centos7-x86_64-gcc-4.8.5-t6vopxdfdkglw5wuh4zqsehr5thkkyub/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/eic.opensciencegrid.org/packages/gcc/9.3.0/linux-centos7-x86_64-gcc-4.8.5-t6vopxdfdkglw5wuh4zqsehr5thkkyub/bin/g++
-- Check for working CXX compiler: /cvmfs/eic.opensciencegrid.org/packages/gcc/9.3.0/linux-centos7-x86_64-gcc-4.8.5-t6vopxdfdkglw5wuh4zqsehr5thkkyub/bin/g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found EXPAT: /cvmfs/eic.opensciencegrid.org/packages/expat/2.2.9/linux-centos7-x86_64-gcc-9.3.0-w6wxu25wm7i4e2hvtioqjuzrdgi27i4b/lib/libexpat.so (found suitable version "2.2.9", minimum required is "2.2.9")
-- Found ZLIB: /cvmfs/eic.opensciencegrid.org/packages/zlib/1.2.11/linux-centos7-x86_64-gcc-9.3.0-o5eyrr46zecie66pglu4lamuqvhpcrkl/lib/libz.so (found suitable version "1.2.11", minimum required is "1.2.11")
-- Found XercesC: /cvmfs/eic.opensciencegrid.org/packages/xerces-c/3.2.2/linux-centos7-x86_64-gcc-9.3.0-ouw3pyhy3crsgrhsyxe2hdfyvyyplmpk/lib/libxerces-c.so (found suitable version "3.2.2", minimum required is "3.2.2")
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/romanov/dirc/build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ftbfs Fails to build from source
Projects
None yet
Development

No branches or pull requests

1 participant