The procedure entry point mkl_serv_deallocate could not be located

The procedure entry point mkl_serv_deallocate could not be located

Imagen de Ngu Soon Hui

I have just upgraded to Intel Visual Fortran Composer XE 2013. However I found that my sample code cannot run due to this error:

The procedure entry point mkl_serv_deallocate could not be located in the dynamioc link library mkl_intel_thread.dll

Previously, this sample runs fine with Intel Visual Fortran version 11. Any reason for this wierd error?

I attach the screenshot and a sample file for your perusual. 

I am running Windows 7 Intel(R) Core(TM) i7 CPU, 64 bit OS. 

AdjuntoTamaño
Descargar eigensolverforhelp.zip564.04 KB
Descargar screenshot.png106.12 KB
publicaciones de 13 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de Gennady Fedorov (Intel)

into fortran64.vfproj, I see the following :
Name="VFLinkerTool" SuppressStartupBanner="true" AdditionalLibraryDirectories="C:\Program Files\Intel\Compiler\11.0\066\fortran\mkl\em64t\lib" SubSystem="subSystemConsole"/>
You need to change accordingly the installation into your case.
as an example: AdditionalLibraryDirectories="C:\Program Files\Intel\Intel\Composer XE 2013\mkl\lib\intel64"

Imagen de Ngu Soon Hui

I have fixed the reference, but it seems that the same problem still occurs. I have attached the project again for your understanding.

Just to show you all the vfproj compile option:

for fortran: /nologo /O2 /I"C:\Program Files (x86)\Intel\Composer XE 2013\compiler\include" /I"E:\Development\E7 .Net2\EigenSolverForHelp\arpack\x64\Debug" /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc110.pdb" /libs:dll /threads /dbglibs /c

for linker:/OUT:"x64\Debug\fortran64.exe" /NOLOGO /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2013\mkl\lib\intel64" /LIBPATH:"E:\Development\E7 .Net2\EigenSolverForHelp\arpack\Debug" /MANIFEST /MANIFESTFILE:"E:\Development\E7 .Net2\EigenSolverForHelp\fortranexample\x64\Debug\fortran64.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /SUBSYSTEM:CONSOLE /IMPLIB:"E:\Development\E7 .Net2\EigenSolverForHelp\fortranexample\x64\Debug\fortran64.lib" mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib  mkl_core_dll.lib libiomp5md.lib

As you can see above, all of them are now pointed to the correct path. 

Adjuntos: 

AdjuntoTamaño
Descargar eigensolverforhelp.zip574.38 KB
Imagen de Gennady Fedorov (Intel)

based on the linker and compile lines - all look correct. 

I see this is the MVSC 11 (Microsoft Visual Studio Solution File, Format Version 11.00  ) wich is not installed installed right now - do you have opportunities to give the 2010 solution?

Imagen de Ngu Soon Hui

Hi, I don't have the VS 2010... does it matter? It shouldn't matter, right?

Imagen de Ngu Soon Hui

May I know what to do in this case? The more I look at it, the more I think that installing VS 2010 on my machine is not really a viable solution. I would need to distribute my code to my clients, and many of them who are not programmers. So If my code requires VS 2010 to work, then I would be in a very hard situation.

Do you think this problem can be fixed by installing some C++ prerequisite packages?

P/S: I did not receive notification when someone replied to my thread, anyway to fix this?

Imagen de Gennady Fedorov (Intel)

I don't think this is the VS studio problem. the solution you gave based on VS2012 with is not available on my side, therefore I cannot reproduce the issue. that's why I asked if it possible to give the VS2010 example. in your case, can you try, as an example, to build your example statically and check how it will work? 

regard to notification - Notification doesn't work at this moment. We are working on that probem.

Imagen de Ngu Soon Hui

Cita:

Gennady Fedorov (Intel) wrote:

I don't think this is the VS studio problem. the solution you gave based on VS2012 with is not available on my side, therefore I cannot reproduce the issue. that's why I asked if it possible to give the VS2010 example. in your case, can you try, as an example, to build your example statically and check how it will work? 

I ran the /x64/fortran64.exe on a Windows 7 64 bit machine, and I this error. So I use dependency walker to look into the fortran64.exe, and I found that the ieshims.dll is missing as shown in the screenshot.

Any idea how to fix this?

Imagen de Ngu Soon Hui

Cita:

Gennady Fedorov (Intel) wrote:

I don't think this is the VS studio problem. the solution you gave based on VS2012 with is not available on my side, therefore I cannot reproduce the issue. that's why I asked if it possible to give the VS2010 example. in your case, can you try, as an example, to build your example statically and check how it will work? 

I ran the /x64/fortran64.exe on a Windows 7 64 bit machine, and I this error. So I use dependency walker to look into the fortran64.exe, and I found that the ieshims.dll is missing as shown in the screenshot.

Any idea how to fix this?

Imagen de Ngu Soon Hui

This is a screenshot of the dependency walker. This is what happens when I look into \x64\fortran64.exe on a 64 bit machine. As you can see, it is an ieframe.dll error, with the error

"Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module."

Adjuntos: 

AdjuntoTamaño
Descargar wahterror..png109.04 KB
Imagen de Ngu Soon Hui

I think I have some findings on this,

when I view the "C:\Program Files (x86)\Intel\Compiler\11.0\066\fortran\mkl\em64t\bin\mkl_intel_thread.dll" in dependency walker, I cannot find the "mkl_serv_deallocate" method! Obviously, my mkl_intel_thread.dll is of the wrong version. 

Any reason why this is so? 

I am using Intel Visual Fortran Composer XE 2013.

Adjuntos: 

AdjuntoTamaño
Descargar no-mkl-serv-deallocate..png150.03 KB
Imagen de Gennady Fedorov (Intel)

where are you looking for mkl_serv_deallocate? into the header files? this is internal service functions and we don't provide the API for this routine. 

Fortran Composer 2013 contains the version of MKL 11.0.

1)what i suggest you to find the cause of the problem - please try to put the executable into directory where all mkl's 64 bit dll were installed. e.g - in my case "C: ...l\Composer XE 2013\redist\intel64\mkl\"  

2) temporarily put into this directory the libiomp5md.dll   from  "C...l\Composer XE 2013\redist\intel64\compiler\"

and then try to launch theexecutable form there.  

Imagen de Ngu Soon Hui

Cita:

Gennady Fedorov (Intel) wrote:

where are you looking for mkl_serv_deallocate? into the header files? this is internal service functions and we don't provide the API for this routine. 

Fortran Composer 2013 contains the version of MKL 11.0.

1)what i suggest you to find the cause of the problem - please try to put the executable into directory where all mkl's 64 bit dll were installed. e.g - in my case "C: ...l\Composer XE 2013\redist\intel64\mkl\"  

2) temporarily put into this directory the libiomp5md.dll   from  "C...l\Composer XE 2013\redist\intel64\compiler\"

and then try to launch theexecutable form there.  

Your tips work, thanks.

I think I know how to reproduce this problem:

  1. First install an old version of intel visual fortran, maybe version 11?
  2. The PATH variable of that computer will be assigned one more entry, such as this ""C: ...l\compiler 11.0\redist\intel64\mkl\". This is correct
  3. Then uninstall version 11, and reinstall Fortran Composer 2013. Now the above entry is NOT updated to  "C: ...l\Composer XE 2013\redist\intel64\mkl\". But it should!
  4. Or else it will cause the problem I see. 

Inicie sesión para dejar un comentario.