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

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

avinashs
New Contributor I
2,030 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
Honored Contributor III
2,029 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.

0 Kudos
avinashs
New Contributor I
2,029 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

0 Kudos
Steve_Lionel
Honored Contributor III
2,029 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.

0 Kudos
avinashs
New Contributor I
2,029 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?

0 Kudos
Steve_Lionel
Honored Contributor III
2,030 Views

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

0 Kudos
Patricia_M_
Beginner
2,029 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

0 Kudos
Steve_Lionel
Honored Contributor III
2,029 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.

0 Kudos
Wang__Dezhi
Beginner
2,029 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

0 Kudos
mecej4
Honored Contributor III
2,029 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.

0 Kudos
Reply