Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26730 Discussions

Procedure entry point error when calling Fortran library functions from C++

avinashs
New Contributor I
755 Views

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.

0 Kudos
9 Replies
Steve_Lionel
Black Belt Retired Employee
755 Views

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.

avinashs
New Contributor I
755 Views

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
C:\Windows\SysWOW64

Steve_Lionel
Black Belt Retired Employee
755 Views

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.

avinashs
New Contributor I
755 Views

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?

Steve_Lionel
Black Belt Retired Employee
755 Views

No - none of the Intel Fortran DLLs belong there. The other locations you found are correct.

Patricia_M_
Beginner
755 Views

Dear Steve,

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. 

error_0.png

Steve_Lionel
Black Belt Retired Employee
755 Views

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.

Wang__Dezhi
Beginner
755 Views

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.

123.png

mecej4
Black Belt
755 Views

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.

Reply