I have a Fortran library that is beibg called from a C++ main program. It generally works fine except that when certain subroutines are included in the Fortran library, the following error message shows up while executing the C++ program:
Test.exe - Entry Point Not Found
The procedure entry point for_realloc_lhs could not be located in the dynamic link library libifcoremdd.dll.
Note that the subroutine that was added to the Fortran library is not being called or referenced by the C++ program. The mere presence of that subroutine in the library causes the above error to occur.
Any help would be greatly appreciated.
You have in PATH an older Intel Fortran run-time library DLL. That entry point was added in version 17. Make sure you don't have old copies of libifcoremdd.dll in your path or that you're running from an environment for an older compiler version.
Thanks for your timely help. I did a search on my computer and there are 6 files named libifcoremdd.dll at the following locations. How do I modify/check the path? I upgrade my version of the Intel Fortran Compiler every year and unfortunately the installation/update is not completely clean.
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32_win\compiler
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\compiler
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\redist\ia32_win\compiler
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\redist\intel64_win\compiler
C:\Program Files\ANSYS Inc\v172\aisol\bin\winx64
Take out the one in the ANSYS folder and see if that fixes the problem. It should not be there. I would not expect one in SysWOW64 either.
Thanks, Steve. Problem has been fixed. Deleting the file in the SysWOW64 folder fixed the problem. The problem persisted when I only removed the ANSYS folder file.
The SysWOW64 folder has other libifXXX files (libifcoremd,dll, libifcorert.dll, libifcorertd,dll, libifportmd.dll) and libioXXX + libmmdXXX files. All have the same timestamp. Are these legitimate as well?
No - none of the Intel Fortran DLLs belong there. The other locations you found are correct.
I am facing similar errors when I try to run the released version of my code in Fortran in other computers. Both, the debug and released version are able to run on my computer without any error. However, when I try to share the executable as released version, the people are getting errors as the image below: The procedure entry point__svml_fmodf4 could not be located in the dynamic link library svml_dispmd.dll. Also, other people get an error related to some libraries that are missing (libifcoremd.dll, libifportmd.dll, libmmd.dll, svml_dispmd.dll) how could I solve this error? is it a configuration aspect?
I have Microsoft Visual Studio Enterprise 2015 and my compiler is Intel® Parallel Studio XE 2016 Composer Edition for Fortran. I have Windows 10 Home.
You need to install the Intel compiler redistributables. See https://software.intel.com/en-us/articles/intelr-composer-redistributable-libraries-by-version. Install the latest version.
Hello. I also encountered the same problem. I have installed the redistributable packages, but this problem still exists when run the exe file. How can I fix it? Thanks.
You have installed the redistributables package that targets Itanium (IA64). It is very unlikely that you have a system with an Itanium processor. What you want instead is the package for Intel64 (called 'em64t' earlier and 'intel64' now) or IA32 if you have a 32-bit OS.
You will need to uninstall the Itanium package and install the appropriate package for your processor/OS.