Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
9 Views

MKL 11.0: DSS Link Error on 64-bit

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
0 Kudos
8 Replies
Highlighted
9 Views

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
0 Kudos
Highlighted
Beginner
9 Views

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.

0 Kudos
Highlighted
Valued Contributor I
9 Views

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
0 Kudos
Highlighted
Beginner
9 Views

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?

0 Kudos
Highlighted
9 Views

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
0 Kudos
Highlighted
Moderator
9 Views

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

0 Kudos
Highlighted
Valued Contributor I
9 Views

Yes, order of libraries on command line is essential.
0 Kudos
Highlighted
9 Views

The order of libraries on Windows is not important, so I believe the problem is different.
Regards,
Konstantin
0 Kudos