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

Error ordinal 747

Nuria_P_
Beginner
1,246 Views

I generate a executable without any problem. But when I use it, the following error appears:

The ordinal 747 could not be located in the dynamic link library. ...

I uses Visual Studio 2015 and Intel(R) Visual Fortran Composer XE 2013.

The same .vfproj is used by other colleagues without such error.

Thank you for your help`.

0 Kudos
16 Replies
andrew_4619
Honored Contributor II
1,246 Views

I think that is caused by run-time dll's that are at inconsistent (and incompatible)  levels.  

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

This is Windows' obscure way of telling you that you have a DLL in the search path that is older than the one whose library was linked against. It has nothing to do with project settings (or the compiler.)

What is the complete message? Does it name a particular DLL? How are you running the program - from inside Visual Studio or some other way? Is this on the same system where you built the application?

0 Kudos
Kevin_D_Intel
Employee
1,246 Views

Sounds just like the earlier forum post here.

In setting up your system you appear to have created a version mismatch between the EXE and DLLs as noted in the cited earlier post. In your case, I don't whether it would involve the same or a different OpenMP related DLL. Perhaps you obtained/install a run-time environment from a release prior to the Visual Fortran Composer XE 2013 that you note having and used to build the executable on your system.

Using Dependency Walker on yours and a colleague's system for the executable might shed more clues about what is different between the systems and leading to the issue.

0 Kudos
Nuria_P_
Beginner
1,246 Views

Thank you.

Answering to Steve, the complete message is:

The ordinal 747 could not be located in the dynamic link library D:\......\File.exe

Indicating the path of the .exe file.

I generate the .exe inside Visual Studio. And I run the .exe from Command Prompt.

Everything in the same computer.

There are no problems in the input data. The input files work perfectly when I use the .exe file generated from the same code but in other computers.

0 Kudos
Nuria_P_
Beginner
1,246 Views

Kevin,

I don't know how to use Dependency Walker.

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

Are you SURE you have that message right? It should not be naming an EXE. Please don't edit the message - attach a screenshot.

Go to http://dependencywalker.com and download Dependency Walker for your executable type (32-bit or 64-bit). It's a ZIP file you unpack into a convenient folder. From the environment in which you're running the executable, run depends.exe (in the unpacked folder) and tell it to "open" your EXE.  It may give various warnings, some of which can be ignored. Go to the File menu and select Save As... Save the report as a .dwi file. Create a zip of the .dwi file and attach it here.

You also did not answer my questions about whether you are running the program on the same computer where you built it.

0 Kudos
Nuria_P_
Beginner
1,246 Views

Steve,

Attached you can find a screenshot of the error message.

Yes, I run the program on the same computer where I built it.

I followed your indications, attached you can find the .dwi file of my .exe.

Thank you very much for your help.

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

This is very odd - an EXE is not a DLL and it sounds as if the EXE is looking for an entry point in itself as a DLL. The DWI doesn't show that your EXE is linked to any DLLs, so I am very confused as to why Windows would be trying to look for an ordinal (routine index) in the EXE.

How do you run this program - do you just run the EXE? What happens if you move it to a folder that doesn't have such a long path and run it from there?

0 Kudos
Nuria_P_
Beginner
1,246 Views

Steve,

This is the procedure that I follow:

  • I open the .vfproj file in Visual Studio 2015 called DymanicMPM.vfproj
  • I build DynamicMPM in release x64
  • Dynamic.exe is generated
  • I copy DynamicMPM.exe in a folder
  • In the same folder, I copy two input files required by the code and a dll which you can find attached.
  • I run the DynamicMPM.exe from Command Prompt going to the folder where I copied the files. I run it by writing DynamicMPM and the name of the case that I would like to run (without indicating the extension of the files).

Following your indications, I moved the folder to have a shorter path but the problem remains. I think that the problem is in the .exe because when I use the .exe generated by one of my colleagues in their computers the executable works well.  

I also tried to work with Visual Studio 2013 and I had the same problem.

The version of Fortran is: Intel(R) Visual Fortran Composer XE2013 for Windows. In particular, I installed Intel Visual Fortran using the I attached the parallel_studio_xe_2017_update1_setup.exe which I downloaded from https://software.intel.com/en-us/qualify-for-free-software/student.

0 Kudos
Nuria_P_
Beginner
1,246 Views

 

Is there someone who could help me? I don't know what to do.

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

First, you should not be copying libiomp5md.dll into your executable folder. I wonder if this is the cause of the problem. Instead, if this is a system that does not have Intel Fortran installed, install the Intel compiler redistributables.

0 Kudos
Nuria_P_
Beginner
1,246 Views

Finally, I solved the problem!!

Thank you very much for your help.

Núria

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

Was the stray copy of libiomp5md.dll the cause of the problem?

0 Kudos
Nuria_P_
Beginner
1,246 Views

The problem was that the libiomp5md.dll that I was using was not the correct one for my compiler version. I copy this dll from the folder IntelSWTools\compilers_and_libraries and it solved the problem. 

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,246 Views

You should not have needed to copy it at all if you were running on a system with the compiler or correct redistributables installed. Copying DLLs into the executable folder can lead to multiple problems.

0 Kudos
Nuria_P_
Beginner
1,246 Views

Thanks

I will talk about this with the developers of the code.

 

0 Kudos
Reply