Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Release program

JohnNichols
Valued Contributor III
2,233 Views

I have magni.exe that runs in debug mode on my computer, Dell Windows 10.  I sent the exe to a student to use and they cannot run the program they are missing DLL's

 

I compile in release mode and get that the linker cannot find external symbols for PARDISO and one other. 

So reading my handy dandy forum - I find the need it appears to statically link libraries.  Magni uses MKL - Pardiso etc..  I check the link website and it says

mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib

add these 

It is still in release mode and now the errors disappear. 

1. What did I do -- in reality 

2. Can I just now send the magni release to the student as it is 58MB and the debug is 11MB?

3. Do I need to send other stuff?

Interestingly these are engineering students who have never used Notepad or Notepad++ 

JMN

0 Kudos
13 Replies
JohnNichols
Valued Contributor III
2,201 Views

Is it the Visual C++ Redistributes that I need to send with a Fortran Program?

0 Kudos
Ron_Green
Moderator
2,197 Views

You may want to use a tool like Depends to examine your .exe and see what, if any, external DLLs it depends upon.  http://dependencywalker.com/

0 Kudos
JohnNichols
Valued Contributor III
2,180 Views

I installed Windows 10 on a NUC on an old HDD - no idea how slow these are -- and then I copied the program on and tried to run it.  

I ended up needing 4 DLLs from the Intel Shared Folder and the MS Runtime.  

I put those into the folder on the fresh windows with the program and they worked.  

Is there anyway to link in those DLLs,  I could not find lib versions of them on the main computer.  Capture.PNG

Interesting in '88 when I sent Fortran MS programs to our Melbourne Office they only needed the exe,

 

0 Kudos
Steve_Lionel
Honored Contributor III
2,157 Views

All but the OpenMP library are available as static libraries and will be used when you change the compiler libraries setting to "Multithreaded (/MT)". It's been about six or seven years since the default changed to DLL linking.

I strongly recommend against copying individual language support DLLs. Install the redistributables package instead.

0 Kudos
Ron_Green
Moderator
2,149 Views

In Project Properties

  Fortran

      Libraries   -> Runtime Library: Debug Multithreaded /libs:static /threads /dbglibs

 

the key option is /libs:static

this will cause the app to pull in the static .lib versions of the Intel Runtime libs.   Caveat:  I'm a Linux/mac person and my confidence in this advice is 90% only

0 Kudos
JohnNichols
Valued Contributor III
2,144 Views

Thank you -- I will try that option -- it is not simple giving a 100 students a program to run. 

0 Kudos
JohnNichols
Valued Contributor III
2,120 Views

The only dll this solution missed is 

libiomp5md.lib

I still need the dll. 

0 Kudos
JohnNichols
Valued Contributor III
2,118 Views

Sorry - any idea if I can include it in the exe?

0 Kudos
andrew_4619
Honored Contributor III
2,097 Views

OpenMP is dll only. If you build with OMP or with /Qparallel  (auto parallelisation) you need some omp dll's

0 Kudos
JohnNichols
Valued Contributor III
2,079 Views

I am lost, I cannot see how OPENMP is turned on

0 Kudos
Steve_Lionel
Honored Contributor III
2,073 Views

Do you use MKL or IMSL? If so, you need OpenMP.

0 Kudos
JohnNichols
Valued Contributor III
2,064 Views

We are using Pardiso - from MKL

So how do I get a student to install the program on a computer that does not have VS or Intel FOrtran 

that needs the OMP 

0 Kudos
Steve_Lionel
Honored Contributor III
2,056 Views

Intel® oneAPI standalone component installation files

Runtime Versions > Windows > Intel Fortran Compiler Classic Runtime for Windows

Student must run this first to install the DLLs.

0 Kudos
Reply