- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I used MKL 11.0 on Windows 7 32-bit well, with the following four libraries:
- mkl_core.lib
- mkl_intel_c.lib
- mkl_sequential.lib
- mkl_solver_sequential.lib
When I turned to compile my app to 64-bit, a bunch of link errors are reported that function starts with "dss_" are not found. For 64-bit, I linked with the following libraries:
- mkl_core.lib
- mkl_intel_lp64.lib
- mkl_sequential.lib
- mkl_solver_lp64_sequential.lib
Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Could you please provide the testcase or just the line where you're calling a DSS routine which was not found during the linking?
I will try to reproduce the problem. Which programming language did you use?
Regards,
Konstantin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The code is as simple as follows:
#include "mkl_dss.h"
int main(void)
{
_MKL_DSS_HANDLE_t handle;
int opt;
int stupid;
dss_solve_real( handle, opt, 0, stupid, 0 );
return 0;
}
The goal in the first place is to pass compile and link (so I didn't spend time to have the above code work at runtime). The above code gets compiled and linked in a Win32 VS project, but report "LNK2019: unresolved external symbol dss_solve_read_ referenced in fucntion wmain" in a x64 VS project.
And the result is similar if replace dss_solve_real with dss_create, etc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please tryIntel MKL Link Line Advisortocorrect your link line.
For ia32 it should be
mkl_intel_c.lib mkl_sequential.lib mkl_core.lib
and for intel 64
mkl_intel_lp64.lib mkl_sequential.lib mkl_core.lib
Please tryIntel MKL Link Line Advisortocorrect your link line.
For ia32 it should be
mkl_intel_c.lib mkl_sequential.lib mkl_core.lib
and for intel 64
mkl_intel_lp64.lib mkl_sequential.lib mkl_core.lib
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked the link line and it seems correct.
I ran "dumpbin /symbols" upon the mkl_intel_lp64.lib, and it exposes no symbols starting with dss_. I also ran the same command upon the 32-bit mkl_intel_c.lib and it exposes the expected functions.
Is this normal, and potentially the reason?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
It sounds really strange that there're no dss_* symbols inmkl_intel_lp64.lib. Probably something is wrong with your MKL libs. can you check mkl_intel_ilp64.lib as well?
Which version of MKL do you use exactly? Is it a part of compiler or standalone library?
Regards,
Konstantin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Dong,
I'd recomend you to try to link this example with the linking line Victor suggested ( see reply #3).
and another comment regarding MKL 11.0. This is an unknown version. The latest version of MKL is 10.3.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, order of libraries on command line is essential.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The order of libraries on Windows is not important, so I believe the problem is different.
Regards,
Konstantin

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