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

Mixing redistributables from multiple compiler versions on same machine

Nikita_Tropin
Novice
629 Views

Hello,

I have an application that was built with Intel Fortran 14.0 and I'm trying to run it on client workstation where Intel Fortran is not installed. So I've installed Intel Fortran 14.0 redistributable package there but application doesn't work. After research with Dependency Walker I found that this workstation also have Intel Fortran 11.1 redistributables installed, and my application is trying to use the wrong library from old version.

Of course the simple solution is to uninstall 11.1 redistributables, but what if the user needs them for some other apps? Is it possible to make my application use correct libraries from new paths?

The library in question is LIBIFCOREMD.DLL

11.1 libs are here: C:\Program Files (x86)\Common Files\Intel\shared files\fortran\Bin\ia32

14.0 libs are here:  C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler

I also have 2 environment variables:


INTEL_DEV_REDIST = C:\Program Files (x86)\Common Files\Intel\Shared Libraries\
F_IA32_REDIST11 = C:\Program Files (x86)\Common Files\Intel\Shared Files\fortran\

Thank you.

0 Kudos
2 Replies
TimP
Honored Contributor III
629 Views

Have you tried setting the environment variables for only the version you want?

0 Kudos
Steven_L_Intel1
Employee
629 Views

What matters is how the PATH environment variable is set. Installing the newer redistributable should put the new location on PATH ahead of others,. but it might not do that if PATH had been manually edited. So on the target machine make sure that only the newer location is in PATH. Applications built with older compilers will work with the newer libraries.

While it may not apply to your particular situation, I'll take this opportunity to say that if you are linking object code (.obj and .lib) created by mixed compiler versions, always link with the newer version.

0 Kudos
Reply