Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
22 Views

Attaches to WRONG MKL library.

 

 

I did some some further investigation, and found:

  1. It does attach an MKL library

  2. It does get the MKL routine I want (DGESV) off that library.

  3. That routine in turn calls other routines that it needs from the same library.

  4. There are no errors mentioned in either of both linker passes.

  5. Finally, the program crashes right before the execution of my code, and that's where it mentions the missing entry point. (MKL_BLAS_CGEM2VC). I put a breakpoint on the 1st line - -  it doesnt even get that far.

  6. In this case the 2018 MKL libraries were being attached.

 

So apparently it does need an MKL library to continue, but why cant it find that entry point ? which library does it need ?

If I knew WHICH library, I could try to FORCE it to link to that one. But no one seems to know where it's supposed to get that entry point, or what that entry point is for.

 

One of the MKL programmer Gurus would know, I'll bet.

 

Any reason you could NOT ask them ? are you afraid to ?

0 Kudos
2 Replies
Highlighted
Black Belt
22 Views

The comments that you wrote indicate that you do not understand how DLL-import library pairs work. The phrase "attach to xxx library", which you use so often, has no recognizable meaning for me.

You probably have at this point more than one version of the MKL libraries/DLLs installed, and an incompatible combination of import library and DLL is being used when you run an application that you build. The solution is simple: remove all but one compatible pairing of Visual Studio and Parallel Studio.

0 Kudos
Highlighted
New Contributor I
22 Views

when I say "attaches", I mean the link that it sets up when I go into 

FORTRAN>LIBRARIES and select "USE MKL LIBRARY" I select "SEQUENTIAL."

And you say "compatible pairing." How do we know what pairs are compatible ?

For example, if I have VS 2015 installed, what version of MKL would that be compatible with ?

 

You would think that it would know which library it wants, and would tell us if it is the wrong one, right ?

Which pair do you have on YOUR machine ? I could try installing that pair.

 

0 Kudos