[Nek5000-users] Running MOAB example

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Wed Sep 11 09:47:00 CDT 2013


Hi Ami,
   That's the C++ runtime.  You have two options:
1. Link with the C++ compiler; in this case, you'll have to explicitly add the fortran runtime libraries to the link 
statement, which is most easily done by adding it to USR_LFLAGS in makenek.  Compiler documents often tell you which 
libraries implement the fortran runtime, usually in a section about inter-language linking.

2. Add the C++ std libs to USR_LFLAGS.  The trunk/nek/makenek file has a few examples of this method for gnu/intel/pgi. 
  Sometimes, like on BG/x, it can be difficult to figure out what all comprises the C++ runtime, which is why I list 1. 
above.

- tim

On 09/11/2013 09:31 AM, nek5000-users at lists.mcs.anl.gov wrote:
> Hello Neks,
>
> I am trying to run MOAB example with nek5000, but all the time which I am running, it gives me set of undefined
> reference error. I put an error with last part of my ./makenek pipe log below.
> What is wrong with my work?
>
> IODebugTrack.cpp:(.text+0xb74): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xb7f): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xb8c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xb97): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xbd3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xbde): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xbeb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xbf6): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xc03): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xc0e): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xc1b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xc26): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(unsigned long)'
> IODebugTrack.cpp:(.text+0xc33): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> IODebugTrack.cpp:(.text+0xc38): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
> IODebugTrack.cpp:(.text+0xc40): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
> IODebugTrack.cpp:(.text+0xc50): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::flush()'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function `moab::IODebugTrack::all_reduce()':
> IODebugTrack.cpp:(.text+0xd08): undefined reference to `MPI_Comm_size'
> IODebugTrack.cpp:(.text+0xdfe): undefined reference to `MPI_Gather'
> IODebugTrack.cpp:(.text+0x1080): undefined reference to `MPI_Gatherv'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function
> `__static_initialization_and_destruction_0(int, int)':
> IODebugTrack.cpp:(.text+0x1221): undefined reference to `std::ios_base::Init::Init()'
> IODebugTrack.cpp:(.text+0x1226): undefined reference to `std::ios_base::Init::~Init()'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function `std::list<moab::IODebugTrack::DRange,
> std::allocator<moab::IODebugTrack::DRange> >::_M_insert(std::_List_iterator<moab::IODebugTrack::DRange>,
> moab::IODebugTrack::DRange const&)':
> IODebugTrack.cpp:(.text._ZNSt4listIN4moab12IODebugTrack6DRangeESaIS2_EE9_M_insertESt14_List_iteratorIS2_ERKS2_[std::list<moab::IODebugTrack::DRange,
> std::allocator<moab::IODebugTrack::DRange> >::_M_insert(std::_List_iterator<moab::IODebugTrack::DRange>,
> moab::IODebugTrack::DRange const&)]+0x3a): undefined reference to
> `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function
> `__gnu_cxx::new_allocator<std::_List_node<moab::IODebugTrack::DRange>
>  >::deallocate(std::_List_node<moab::IODebugTrack::DRange>*, unsigned long)':
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN4moab12IODebugTrack6DRangeEEE10deallocateEPS5_m[__gnu_cxx::new_allocator<std::_List_node<moab::IODebugTrack::DRange>
>  >::deallocate(std::_List_node<moab::IODebugTrack::DRange>*, unsigned long)]+0x1c): undefined reference to `operator
> delete(void*)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function
> `__gnu_cxx::new_allocator<moab::IODebugTrack::DRange>::allocate(unsigned long, void const*)':
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN4moab12IODebugTrack6DRangeEE8allocateEmPKv[__gnu_cxx::new_allocator<moab::IODebugTrack::DRange>::allocate(unsigned
> long, void const*)]+0x2c): undefined reference to `std::__throw_bad_alloc()'
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN4moab12IODebugTrack6DRangeEE8allocateEmPKv[__gnu_cxx::new_allocator<moab::IODebugTrack::DRange>::allocate(unsigned
> long, void const*)]+0x45): undefined reference to `operator new(unsigned long)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function
> `__gnu_cxx::new_allocator<moab::IODebugTrack::DRange>::deallocate(moab::IODebugTrack::DRange*, unsigned long)':
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN4moab12IODebugTrack6DRangeEE10deallocateEPS3_m[__gnu_cxx::new_allocator<moab::IODebugTrack::DRange>::deallocate(moab::IODebugTrack::DRange*,
> unsigned long)]+0x1c): undefined reference to `operator delete(void*)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o): In function
> `__gnu_cxx::new_allocator<std::_List_node<moab::IODebugTrack::DRange> >::allocate(unsigned long, void const*)':
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN4moab12IODebugTrack6DRangeEEE8allocateEmPKv[__gnu_cxx::new_allocator<std::_List_node<moab::IODebugTrack::DRange>
>  >::allocate(unsigned long, void const*)]+0x2c): undefined reference to `std::__throw_bad_alloc()'
> IODebugTrack.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN4moab12IODebugTrack6DRangeEEE8allocateEmPKv[__gnu_cxx::new_allocator<std::_List_node<moab::IODebugTrack::DRange>
>  >::allocate(unsigned long, void const*)]+0x46): undefined reference to `operator new(unsigned long)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(IODebugTrack.o):(.eh_frame+0x24b): undefined reference to
> `__gxx_personality_v0'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(OrientedBox.o): In function
> `moab::operator<<(std::basic_ostream<char, std::char_traits<char> >&, moab::OrientedBox const&)':
> OrientedBox.cpp:(.text+0x97): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<<
> <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0xaf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<<
> <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0xbc): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(double)'
> OrientedBox.cpp:(.text+0xc9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<<
> <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0xe1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<<
> <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0xee): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(double)'
> OrientedBox.cpp:(.text+0xfb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<<
> <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0x113): undefined reference to `std::basic_ostream<char, std::char_traits<char> >&
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text+0x120): undefined reference to `std::basic_ostream<char, std::char_traits<char>
>  >::operator<<(double)'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(OrientedBox.o): In function
> `__static_initialization_and_destruction_0(int, int)':
> OrientedBox.cpp:(.text+0x3aaf): undefined reference to `std::ios_base::Init::Init()'
> OrientedBox.cpp:(.text+0x3ab4): undefined reference to `std::ios_base::Init::~Init()'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(OrientedBox.o): In function `moab::ErrorCode
> moab::EigenDecomp<moab::Matrix3, moab::CartVect>(moab::Matrix3 const&, double*, moab::CartVect*)':
> OrientedBox.cpp:(.text._ZN4moab11EigenDecompINS_7Matrix3ENS_8CartVectEEENS_9ErrorCodeERKT_PdPT0_[moab::ErrorCode
> moab::EigenDecomp<moab::Matrix3, moab::CartVect>(moab::Matrix3 const&, double*, moab::CartVect*)]+0xb7f): undefined
> reference to `std::cerr'
> OrientedBox.cpp:(.text._ZN4moab11EigenDecompINS_7Matrix3ENS_8CartVectEEENS_9ErrorCodeERKT_PdPT0_[moab::ErrorCode
> moab::EigenDecomp<moab::Matrix3, moab::CartVect>(moab::Matrix3 const&, double*, moab::CartVect*)]+0xb84): undefined
> reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char>
>  >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
> OrientedBox.cpp:(.text._ZN4moab11EigenDecompINS_7Matrix3ENS_8CartVectEEENS_9ErrorCodeERKT_PdPT0_[moab::ErrorCode
> moab::EigenDecomp<moab::Matrix3, moab::CartVect>(moab::Matrix3 const&, double*, moab::CartVect*)]+0xb89): undefined
> reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char>
>  >(std::basic_ostream<char, std::char_traits<char> >&)'
> OrientedBox.cpp:(.text._ZN4moab11EigenDecompINS_7Matrix3ENS_8CartVectEEENS_9ErrorCodeERKT_PdPT0_[moab::ErrorCode
> moab::EigenDecomp<moab::Matrix3, moab::CartVect>(moab::Matrix3 const&, double*, moab::CartVect*)]+0xb91): undefined
> reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char,
> std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
> /home/amirreza/Amirreza/moab-4.6.0/gcc/lib/libMOAB.a(OrientedBox.o):(.eh_frame+0x22f): undefined reference to
> `__gxx_personality_v0'
> collect2: ld returned 1 exit status
> make: *** [nek5000] Error 1
>
> Thanks,
> Ami
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
  phone (gvoice): (608) 354-1459      1500 Engineering Dr.
             fax: (608) 263-4499      Madison, WI 53706



More information about the Nek5000-users mailing list