- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, I am evaluating the latest Intel Compiler suite. I am trying to link my program with latest MKL implmentation on a SGI workstation with xeon processor. I am having the following error:
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_SCALAPACK_INT'
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdsendrecv'
I trace the problem back to the blacs implementation: I am using SGI's MPT library, so I uses libmkl_blacs_sgimpt_lp64.a library. For all blacs libraries, only the sgimpt version does not have MKL_SCALAPACK_INT defined. How do I get my program to link correctly?
Here are the library sequence I used to link with my program:
-lmkl_scalapack_lp64 -lmkl_blacs_sgimpt_lp64 -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lmpi -ldl
Thanks
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_SCALAPACK_INT'
/opt/intel/Compiler/11.1/046/mkl/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdsendrecv'
I trace the problem back to the blacs implementation: I am using SGI's MPT library, so I uses libmkl_blacs_sgimpt_lp64.a library. For all blacs libraries, only the sgimpt version does not have MKL_SCALAPACK_INT defined. How do I get my program to link correctly?
Here are the library sequence I used to link with my program:
-lmkl_scalapack_lp64 -lmkl_blacs_sgimpt_lp64 -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lmpi -ldl
Thanks
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
eleshia,
Probably linker adviser ( http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/)will helps you to select recommended linking line.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The problem has been reproduced. We'll provide a fix for this in a future update.
You could try this workaround: Compile a C source file with these two lines and link it in addition to MKL:
#include
int MKL_SCALAPACK_INT = (int) MPI_INT;
-Todd
You could try this workaround: Compile a C source file with these two lines and link it in addition to MKL:
#include
int MKL_SCALAPACK_INT = (int) MPI_INT;
-Todd
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Todd,
The C-file workaround you suggested takes care of only one of the two problems. While the message
libmkl_scalapack_lp64.so: undefined reference to `MKL_SCALAPACK_INT'
no longer appears, the other one, namely
libmkl_scalapack_lp64.so: undefined reference to `Cdsendrecv'
remains. Any further suggestions?
Thanks
Maurice
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maurice,
what mkl version you are using? We fixed this problem in 10.2 Update3.
--Gennady

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