Re: [Nek5000-users] Running MOAB example
Aha, good catch. Iulian, could you backport the imesh_freememory function? Thanks. - tim On 09/11/2013 11:33 AM, Vijay S. Mahadevan wrote:
The linker error is because of your version mismatch. You need to update your moab to the latest version. I see you are using v4.6 now. You should be able to use the dev version from https://bitbucket.org/fathomteam/moab with git or download the newer patch from https://trac.mcs.anl.gov/projects/ITAPS/wiki/MOAB.
Tim, can we create a new patched version of the release for download. I spoke to Rajeev about this some time back but we need to decide what fixes to backport.
Vijay
On Wed, Sep 11, 2013 at 11:20 AM, <[email protected]> wrote:
Yes , I am using gnu, and whwen I add USR_LFLAGS="-lmpi_cxx -lstdc++, I get this, makenek - automatic build tool for Nek5000 generating makefile ... mpif77 -c -O2 -fdefault-real-8 -x f77-cpp-input -fcray-pointer -DMOAB -DPTRSIZE8 -DMPI -DLONGINT8 -DUNDERSCORE -DGLOBAL_LONG_LONG -I/home/amirreza/nek5_svn/amirreza_test/examples/moab -I/home/amirreza/nek5_svn/trunk/nek -I./ /home/amirreza/nek5_svn/amirreza_test/examples/moab/pipe.f -I/home/amirreza/nek5_svn/trunk/nek/3rd_party -I/home/amirreza/Amirreza/moab-4.6.0/gcc/include -o obj/pipe.o mpif77 -o nek5000 obj/pipe.o obj/drive.o obj/drive1.o obj/drive2.o obj/plan4.o obj/bdry.o obj/coef.o obj/conduct.o obj/connect1.o obj/connect2.o obj/dssum.o obj/edgec.o obj/eigsolv.o obj/gauss.o obj/genxyz.o obj/navier1.o obj/makeq.o obj/navier0.o obj/navier2.o obj/navier3.o obj/navier4.o obj/prepost.o obj/speclib.o obj/map2.o obj/turb.o obj/mvmesh.o obj/ic.o obj/ssolv.o obj/planx.o obj/math.o obj/mxm_wrapper.o obj/hmholtz.o obj/gfdm_par.o obj/gfdm_op.o obj/gfdm_solve.o obj/subs1.o obj/subs2.o obj/genbox.o obj/gmres.o obj/hsmg.o obj/convect.o obj/induct.o obj/perturb.o obj/navier5.o obj/navier6.o obj/navier7.o obj/navier8.o obj/fast3d.o obj/fasts.o obj/calcz.o obj/byte.o obj/chelpers.o obj/byte_mpi.o obj/postpro.o obj/cvode_driver.o obj/nek_comm.o obj/init_plugin.o obj/setprop.o obj/qthermal.o obj/cvode_aux.o obj/makeq_aux.o obj/papi.o obj/ssygv.o obj/dsygv.o obj/nek_in_situ.o obj/mxm_std.o obj/blas.o obj/moab.o obj/imeshutil.o obj/imeshcutil.o obj/comm_mpi.o obj/singlmesh.o obj/jl_gs.o obj/jl_sort.o obj/jl_sarray_transfer.o obj/jl_sarray_sort.o obj/jl_gs_local.o obj/jl_crystal.o obj/jl_comm.o obj/jl_tensor.o obj/jl_fail.o obj/jl_fcrystal.o obj/jl_findpts.o obj/jl_findpts_local.o obj/jl_obbox.o obj/jl_poly.o obj/jl_lob_bnd.o obj/jl_findpts_el_3.o obj/jl_findpts_el_2.o obj/jl_sparse_cholesky.o obj/jl_xxt.o obj/jl_fcrs.o -L/home/amirreza/Amirreza/netcdf-4.1.3/gcc/lib -L/home/amirreza/Amirreza/zlib-1.2.5/gcc/lib -L/home/amirreza/Amirreza/szip-2.1/gcc/lib -L/home/amirreza/Amirreza/hdf5-1.8.11/lib -L/home/amirreza/Amirreza/moab-4.6.0/gcc/lib -L/home/amirreza/Amirreza/moab-4.6.0/gcc/lib -liMesh -lMOAB -lnetcdf -lhdf5 -lsz -lm -lmpi_cxx -lstdc++ obj/moab.o: In function `nekmoab_intbc_': moab.f:(.text+0xe9d): undefined reference to `imesh_freememory_' moab.f:(.text+0xece): undefined reference to `imesh_freememory_' moab.f:(.text+0xee4): undefined reference to `imesh_freememory_' moab.f:(.text+0xf05): undefined reference to `imesh_freememory_' obj/moab.o: In function `nekmoab_bc_': moab.f:(.text+0x1306): undefined reference to `imesh_freememory_'
collect2: ld returned 1 exit status make: *** [nek5000] Error 1
Thanks, Ami
On Wed, Sep 11, 2013 at 12:05 PM, <[email protected]> wrote:
It depends which compiler you're using. Are you using gnu?
Please send complete compile output.
- tim
On 09/11/2013 10:11 AM, [email protected] wrote:
Thanks for your answer, to make sure I have added libraries to makenek ''USR_LFLAGS="-lmpi_cxx -lstdc++" which I'm getting same error,so you mean I need to add appropriate fortran library to USR_LFLAGS?
Thanks, Ami
On Wed, Sep 11, 2013 at 10:47 AM, <[email protected] <mailto:[email protected]>> wrote:
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, [email protected].__gov <mailto:[email protected]> 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.___ZNSt4listIN4moab12IODebugTrack__6DRangeESaIS2_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___nodeIN4moab12IODebugTrack6DRan__geEEE10deallocateEPS5_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___allocatorIN4moab12IODebugTrack__6DRangeEE8allocateEmPKv[__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___allocatorIN4moab12IODebugTrack__6DRangeEE8allocateEmPKv[__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___allocatorIN4moab12IODebugTrack__6DRangeEE10deallocateEPS3_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___nodeIN4moab12IODebugTrack6DRan__geEEE8allocateEmPKv[__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___nodeIN4moab12IODebugTrack6DRan__geEEE8allocateEmPKv[__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 [email protected].__gov <mailto:[email protected]> https://lists.mcs.anl.gov/__mailman/listinfo/nek5000-users <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 ([email protected] <mailto:[email protected]>) (telecommuting from UW-Madison) phone (gvoice): (608) 354-1459 <tel:%28608%29%20354-1459> 1500 Engineering Dr. fax: (608) 263-4499 <tel:%28608%29%20263-4499> Madison, WI 53706
_________________________________________________ Nek5000-users mailing list [email protected].__gov <mailto:[email protected]> https://lists.mcs.anl.gov/__mailman/listinfo/nek5000-users <https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
_______________________________________________ Nek5000-users mailing list [email protected] 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 ([email protected]) (telecommuting from UW-Madison) phone (gvoice): (608) 354-1459 1500 Engineering Dr. fax: (608) 263-4499 Madison, WI 53706
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] 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 ([email protected]) (telecommuting from UW-Madison) phone (gvoice): (608) 354-1459 1500 Engineering Dr. fax: (608) 263-4499 Madison, WI 53706
participants (1)
-
nek5000-users@lists.mcs.anl.gov