Issues making the executable file on the cluster

Hello, I am trying to run an example on the Geant4 10.04.p02 installed on my university cluster. Everything is fine except when it tries to link CXX executable file and I get this very long error. Could anybody address this problem? I have loaded Geant4 and cmake modules and used the source geant4make.sh . I can run the example on my computer so I think I am doing the work well, but the problem appears when I try to make the file on the cluster. The cluster uses CentOS Linux operating system. This is the errors I get:

Scanning dependencies of target AnaEx01

[ 10%] Building CXX object CMakeFiles/AnaEx01.dir/AnaEx01.cc.o

[ 20%] Building CXX object CMakeFiles/AnaEx01.dir/src/HistoManager.cc.o

[ 30%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/ActionInitialization.cc.o

[ 40%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/DetectorConstruction.cc.o

[ 50%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/DetectorMessenger.cc.o

[ 60%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/EventAction.cc.o

[ 70%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/PrimaryGeneratorAction.cc.o

[ 80%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/RunAction.cc.o

[ 90%] Building CXX object CMakeFiles/AnaEx01.dir/shared/src/SteppingAction.cc.o

[100%] Linking CXX executable AnaEx01

CMakeFiles/AnaEx01.dir/AnaEx01.cc.o: In function `G4DataQuestionaire::G4DataQuestionaire(G4DataType, G4DataType, G4DataType, G4DataType, G4DataType, G4DataType, G4DataType, G4DataType, G4DataType)’:

AnaEx01.cc:(.text.ZN18G4DataQuestionaireC2E10G4DataTypeS0_S0_S0_S0_S0_S0_S0_S0[ZN18G4DataQuestionaireC5E10G4DataTypeS0_S0_S0_S0_S0_S0_S0_S0]+0x414): undefined reference to `G4Exception(char const*, char const*, G4ExceptionSeverity, std::basic_ostringstream<char, std::char_traits, std::allocator >&)’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4global.so: undefined reference to `std::iostream_category()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__throw_out_of_range_fmt(char const*, …)@GLIBCXX_3.4.20

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_first_not_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4global.so: undefined reference to `std::ios_base::failure[abi:cxx11]::~cxx11()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4visHepRep.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::assign(char const*)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4physicslists.so: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::basic_ostringstream(std::_Ios_Openmode)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_erase(unsigned long, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits, std::allocator >::basic_stringstream(std::_Ios_Openmode)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4vis_management.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `typeinfo for std::ios_base::failure[abi:cxx11]@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::basic_istream<char, std::char_traits >& std::operator>><char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4visHepRep.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::rfind(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4vis_management.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::append(char const*)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits, std::allocator >::~basic_stringstream()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(char const*) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4global.so: undefined reference to `std::ios_base::failure[abi:cxx11]::cxx11(char const*, std::error_code const&)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_append(char const*, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::rfind(char, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4analysis.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_construct(unsigned long, char)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::basic_string(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned long, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4visHepRep.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::reserve(unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4vis_management.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_first_not_of(char, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4vis_management.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::push_back(char)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::erase(unsigned long, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4persistency.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find(char, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `std::basic_ofstream<char, std::char_traits >::open(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4persistency.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::substr(unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >::~basic_istringstream()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_last_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >::basic_istringstream(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `std::basic_ifstream<char, std::char_traits >::basic_ifstream(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `vtable for std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4analysis.so: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::str(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_create(unsigned long&, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::_M_sync(char*, unsigned long, unsigned long)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4interfaces.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_first_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::~basic_ostringstream()@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4visHepRep.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::find(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4processes.so: undefined reference to `std::basic_istream<char, std::char_traits >& std::getline<char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, char)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::swap(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)@GLIBCXX_3.4.21

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4Tree.so: undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21’

/opt/ohpc/pub/libs/gnu/geant4/10.04.p02/lib64/libG4GMocren.so: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::str() const@GLIBCXX_3.4.21’

collect2: error: ld returned 1 exit status

make[2]: *** [AnaEx01] Error 1

make[1]: *** [CMakeFiles/AnaEx01.dir/all] Error 2

make: *** [all] Error 2

It looks that the problem comes from the gcc. You can check if the gcc version meet the requirement of Geant4 which you are using.

1 Like

Yes, Thank you! it actually worked and the problem was with this gcc and g++.