Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

undefined symbol: __svml_sincos2

Sangamesh_B_
Beginner
1,790 Views
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
0 Kudos
1 Reply
Ron_Green
Moderator
1,790 Views
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
0 Kudos
Reply