- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The Fortran code compiled with ifort-11.1.046 and MKL library, fails to execute with "symbol lookup error"
: symbol lookup error: : undefined symbol: __svml_sincos2
ldd shows it has linked to all desired libraries:
$ ldd
libsvml.so => /opt/intel/Compiler/11.1/046/lib/intel64/libsvml.so (0x00002aefe98d7000)
libmkl_lapack.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_lapack.so (0x00002aefe9b06000)
libmkl_intel_lp64.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_intel_lp64.so (0x00002aefea7f6000)
libmkl_sequential.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_sequential.so (0x00002aefeabd9000)
libmkl_core.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_core.so (0x00002aefeb2d9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000032fdc00000)
libmpi_f90.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f90.so.0 (0x00002aefeb506000)
libmpi_f77.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f77.so.0 (0x00002aefeb709000)
libmpi.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi.so.0 (0x00002aefeb940000)
libopen-rte.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-rte.so.0 (0x00002aefebc11000)
libopen-pal.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-pal.so.0 (0x00002aefebe71000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000032fd800000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003300400000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000330a600000)
libm.so.6 => /lib64/libm.so.6 (0x00000032fd400000)
libc.so.6 => /lib64/libc.so.6 (0x00000032fd000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000330ee00000)
/lib64/ld-linux-x86-64.so.2 (0x00000032fcc00000)
libifport.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifport.so.5 (0x00002aefec10c000)
libifcoremt.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifcoremt.so.5 (0x00002aefec246000)
libimf.so => /opt/intel/Compiler/11.1/046/lib/intel64/libimf.so (0x00002aefec4e9000)
libintlc.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libintlc.so.5 (0x00002aefec83b000)
What could be the reason here and how it can be resolved?
Thanks
The Fortran code compiled with ifort-11.1.046 and MKL library, fails to execute with "symbol lookup error"
ldd shows it has linked to all desired libraries:
$ ldd
libsvml.so => /opt/intel/Compiler/11.1/046/lib/intel64/libsvml.so (0x00002aefe98d7000)
libmkl_lapack.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_lapack.so (0x00002aefe9b06000)
libmkl_intel_lp64.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_intel_lp64.so (0x00002aefea7f6000)
libmkl_sequential.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_sequential.so (0x00002aefeabd9000)
libmkl_core.so => /opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_core.so (0x00002aefeb2d9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000032fdc00000)
libmpi_f90.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f90.so.0 (0x00002aefeb506000)
libmpi_f77.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi_f77.so.0 (0x00002aefeb709000)
libmpi.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libmpi.so.0 (0x00002aefeb940000)
libopen-rte.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-rte.so.0 (0x00002aefebc11000)
libopen-pal.so.0 => /opt/mpi/openmpi/1.3.3/intel/lib/libopen-pal.so.0 (0x00002aefebe71000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000032fd800000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003300400000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000330a600000)
libm.so.6 => /lib64/libm.so.6 (0x00000032fd400000)
libc.so.6 => /lib64/libc.so.6 (0x00000032fd000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000330ee00000)
/lib64/ld-linux-x86-64.so.2 (0x00000032fcc00000)
libifport.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifport.so.5 (0x00002aefec10c000)
libifcoremt.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libifcoremt.so.5 (0x00002aefec246000)
libimf.so => /opt/intel/Compiler/11.1/046/lib/intel64/libimf.so (0x00002aefec4e9000)
libintlc.so.5 => /opt/intel/Compiler/11.1/046/lib/intel64/libintlc.so.5 (0x00002aefec83b000)
What could be the reason here and how it can be resolved?
Thanks
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see MPI being linked in. Would it be correct to assume that the runtime error you see is after you launch the program using MPIEXEC, MPIRUN, or similar?
If so, are you sure the compiler is installed on each of the nodes in your cluster?
Another possibility is that many MPI runtimes do not fully carry over the env vars from the launching shell properly, thus you LD_LIBRARY_PATH inherited by your spawned processes may not have the path to the compiler libs.
I usually compile my MPI apps with -static-intel to statically link the Intel libs into the executable. That way I don't have to worry about LD_LIBRARY_PATH or the node software configurations.
ron
If so, are you sure the compiler is installed on each of the nodes in your cluster?
Another possibility is that many MPI runtimes do not fully carry over the env vars from the launching shell properly, thus you LD_LIBRARY_PATH inherited by your spawned processes may not have the path to the compiler libs.
I usually compile my MPI apps with -static-intel to statically link the Intel libs into the executable. That way I don't have to worry about LD_LIBRARY_PATH or the node software configurations.
ron

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page