- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello All,
However, when I link against the dynamic library mkl_scalapack_lp64_dll.lib, receive a link error saying that the following symbols cannot be found:
I am trying to dynamically link against mkl_scalapack_lp64.dll. When I build my application linking against the static mkl_scalapack_lp64.lib everything compiles fine.
However, when I link against the dynamic library mkl_scalapack_lp64_dll.lib, receive a link error saying that the following symbols cannot be found:
PCGEMR2D
PDGEMR2D
PSGEMR2D
PZGEMR2D
When I perform a dumpbin /ALL mkl_scalapack_lp64.lib I see:
[lots of symbols]
6B PCGEMR2D
[more symbols]
5D PDGEMR2D
...
However, when I perform a dumpbin /ALL on mkl_scalapack_lp64_dll.lib, I cannot find these symbols, likewise I cannot find them in mkl_scalapack_lp64.dll.
Being an industrious middle-aged developer I decided to use the MKL DLL Builder Tool. I copied the files in $(MKLROOT)\\tools\\builder to a directory C:\\mylibs\\scalapack_build. I created a scalapack_cdecl_list file by perfroming a dumpin /EXPORTS on mkl_scalapack_lp64_dll.lib. I cleaned up my scalapack_cdecl_list file to look like the other *_cdecl_list files in the directory...(thank you emacs) and then I add the symbols that I was trying to use in mkl_scalapack_lp64.lib that were unresolved when I linked against mkl_scalapack_lp64_dll.lib.
NOTE: It was also necessary to remove $(buf_lib) from the link line as Visual Studio 2008 no longer distributes as part of the SDK.
I then executed the command:
nmake em64t interface=lp64 export=scalapack_cdecl_list name=mkl_scalapack_lp64 MKLROOT="C:\\Program Files (x86)\\Intel\\Compiler\\11.1\\054"\\mkl
and received lots of link errors...
next I tried to add mkl_scalapack_lp64.lib to the link line and this to failed.
Alas I have come to the place where MKL Gurus far smarter than I skulk the murky depths of the Internet in an attempt to shed some light on this problem...
Here is what I would like to know:
1. Are the unresolved symbols that cause link errors when I link against mkl_scalapack_lp64_dll.lib a known issue?
2. Is there a way to work around my problem using the builder? And if so what other library/libraries do I need to link against?
Regards
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try using the MKL link advisor http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ .
Please break up your posts into paragraphs to make them easier to read.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello mecej4,
As for the formating blech! There must be something wrong with my browser or the auto formator for this textbox.
Anyway, the first thing I did was try the link-line-advisor...it has saved me in the past, however the link line that it gives me is:
mkl_scalapack_lp64_dll.lib mkl_solver_lp64.lib mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib mkl_blacs_lp64_dll.lib -Qopenmp
Unfortunately, I don' t think the problem is with the link line itself, but with the symbols that are missing from the mkl_scalapack_lp64_dll.lib, because I can compile an application that uses the mkl_scalapack_lp64.dll, that does not reference these symbols, using the link line given by the link-line advisor.
Regards,
Aquil H. Abdullah
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