Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

__powr8i4 not located in libmmd.dll

rhshaw
Beginner
1,330 Views

Hi,

I've recently installed a fresh copy of Microsoft Visual Studio, Intel Fortran 10.1, the Math Kernel Library 10.0, and IMSL 6. Previously, I was using the Compaq version 6.6 of the compilers and IMSL v4. I mistakenly installed the old version on my new Vista machine and subsequentlyuninstalled it before purchasing/installing this new version. The new install is a complete/default install. The only modification that I've made personallyis to add the IMSL libraries and include files to the paths.

In trying to compile/run my legacy codes, I've figured out how to get my code to compile, but when running the executable, I get the following error:

"The procedure entry point __powr8i4 could not be located in the dynamic link library libmmd.dll."

Can someone offer a suggestion as to what I should be doing differently?

Thanks,

Roger

0 Kudos
8 Replies
Steven_L_Intel1
Employee
1,330 Views
My guess is that you have multiple copies of libmmd.dll on your system and that the first one seen in the PATH environment variable is an old one.

PATH should include %IFORT_COMPILER10%IA32Lib ahead of any other folders that include libmmd.dll.
0 Kudos
lkao
Beginner
1,330 Views
Hi,

I enconter the exactly same problem after I removed old version of Fortran compiler+IMSL and reinstall Fortan compiler+IMSL version 10.

According to your suggestion, I check my Path environmental variable.
Here it is:

C:Program FilesVNIimslfnl600IA32lib;C:Program filesMPICH2in;C:Perlin;C:Program FilesSSH Communications SecuritySSH Secure Shell;c:Program FilesRR-2.3.1in;c:MinGWin;c:MinGW;C:Progra~1RR-2.3.1;c:Progra~1RR-2.3.1in;C:Progra~1 oolsin;


I do not see the PATH contains any old setting.
So, is any other way that I can fix this problem? Otherwise, I will need to switch to the old version.

Thanks.
0 Kudos
Steven_L_Intel1
Employee
1,330 Views
I don't see the path to the Fortran DLLs there. Add to the FRONT of your PATH environment variable this:

%IFORT_COMPILER10%IA32Lib
0 Kudos
Deleted_U_Intel
Employee
1,330 Views

This error is indication of either your dll is corrupted or it is incompatible with which you build your program.

This means you may have multiple copies of libmmd.dll on your machine and that comes first in your PATH is not compatible with (may be older than the application is build with) actually needed by the application.

Could you please search for all libmmd.dll on your machine ?

0 Kudos
itnuffield_ox_ac_uk
1,330 Views
I've got the same error message and I have checked that I indeed have multiple copies of the libmmd.dll file on my machine.
Should I keep only one version and delete all the others?

Chiara

Quoting - Kasture Baswaraj (Intel)

This error is indication of either your dll is corrupted or it is incompatible with which you build your program.

This means you may have multiple copies of libmmd.dll on your machine and that comes first in your PATH is not compatible with (may be older than the application is build with) actually needed by the application.

Could you please search for all libmmd.dll on your machine ?


0 Kudos
Steven_L_Intel1
Employee
1,330 Views
It's not necessary to delete other copies, but you want to make sure that only the most recent folder containing this DLL is listed in the PATH system environment variable.
0 Kudos
jfwieden
Beginner
1,330 Views
I have also encountered a simplar problem with libmmd.dll. I found it in the Windows/System32 directory dated 2005. It seems that the system is finding this old version before finding the new libmmd.dll file located in the Intel lib directory and that it is incompatible with the other Intel libraries. Simply deleting this file allows the system to continue searching until it finds the newer Intel library. However, the old file always reappears when I reboot my machine. Something to do with the system configuration here, I think.

At first I though I could simply alter my PATH such that the Intel library directory was listed first. Didn't work. I believe that the system implicitly knows to look in the program directory (./) first, then the system directories. If it doesn't find what it's looking for, then it starts searching along the path. In fact, the Windows/System32 directory is not even listed in the PATH.

Is there a way to make the Windows system look on the search path before the system paths? Is there a way to explicitly declare which DLL files to load within the project properties page? Any other potential solutions?

Thanks
jim

0 Kudos
TimP
Honored Contributor III
1,330 Views
This is a typical consequence of putting dlls in system space where they don't belong. You should remove the old ifort dlls from system.. and from the dll caches, hoping that you can stop it from coming back. I suppose Safe Mode may help in cleaning up. You would also find suggestions by using search engines; when you get into such a situation, it can be difficult to find the way out. If you end up re-installing the OS, it still may not do the job unless you wipe the old installation clean.
0 Kudos
Reply