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

ifortvars.bat not setting PATH to ifort.exe binary

Dennis_Wassel
Beginner
3,062 Views

Dear all,

I have been trying to achieve the same as Simon in https://software.intel.com/en-us/forums/topic/294900, with following setup:

This is on a Windows Server 2012 using Visual Studio 2013 and Visual Fortran 15.0. More precisely

Microsoft Visual Studio Professional 2013
Version 12.0.31101.00 Update 4
Microsoft .NET Framework
Version 4.5.51209

together with

Intel(R) Visual Fortran Compiler XE 15.0 Update 1 for Windows*
Intel(R) Debugger Extension 7.7-8.0 for Intel(R) Many Integrated Core Architecture

Like Simon, we use ifortvars.bat on an older machine, and I can then run cl, nmake and link to build a cross-language DLL.

I found ifortvars.bat and according to its documentation, should run it with arguments "intel64 vs2013", and while this does set some paths (like Simon, I compared the output of set before and afterwards), it fails to set the path to the actual ifort.exe binary, and to the SDK tools such as cl, nmake and link.

The documentation (locally at C:/Program Files (x86)/Intel/Composer XE 2015/Documentation/en_US/beginusing_wf.htm) says to use the Command prompt with Intel Compilers, (supposedly found at Start > All Programs > Intel Parallel Studio XE 2015 > Compiler and Performance Libraries), but this is not installed on our machine - said start menu path only contains a link "Use VS2013", so I do not have an example to use as reference.

Also, the docs concerncing using the command-line say

The Intel® Fortran Compiler includes a shell script that you can run to set environment variables.

  • On Linux* and OS X*, the file is a shell script called compilervars.sh or compilervars.csh.
  • On Windows*, the file is a batch file called compilervars.bat.

but this seems to be specific to the Intel C/C++ compiler; there is no such script on this machine.

I guess I could hack this, using the SDK vcvarsall.bat script and hardcode %INTEL_COMPILER15%bin\intel64\ifort.exe (or similar), but I would very much like to keep our build scripts clean and less dependent on particular installation paths.

I am attaching our ifortvars.bat (as txt) and the (slightly redacted) before and after outputs of SET.

Thank you for your consideration!

0 Kudos
1 Solution
Steven_L_Intel1
Employee
3,062 Views

Yes, you may well have a broken installation. Please uninstall Fortran and reinstall.

View solution in original post

0 Kudos
10 Replies
Steven_L_Intel1
Employee
3,062 Views

Please show the contents of a command prompt session where you invoke ifortvars.bat and do a "set path" afterward. It looks to me from your output that ifortvars.bat did not execute.

0 Kudos
Dennis_Wassel
Beginner
3,062 Views

Steve,

thank you for your comment. I am quite sure it did run, because the before and after environments differ. Nevertheless, here the output of set path (newlines added by me or better readibility):

C:\Users\dwassel\Documents>"C:\Program Files (x86)\Intel\Composer XE 2015\bin\ifortvars.bat" intel64 vs2013

C:\Users\dwassel\Documents>set path
Path=
C:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl;
C:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\compiler;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\mpirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files\MATLAB\R2014a\bin;
C:\Program Files (x86)\Git\cmd;
C:\Program Files\TortoiseSVN\bin;
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;
C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;
C:\Program Files\TortoiseGit\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

The problem, as I understand it, is that the bin directory where ifort.exe resides is not added (should be bin/intel64)

0 Kudos
Dennis_Wassel
Beginner
3,062 Views

Also as a side-note, I just updated to the current version, being

This package contains:
        Intel(R) Visual Fortran Compiler XE 15.0 Update 2 for Windows*
        Intel(R) Debugger Extension 7.7-8.0 for Intel(R) Many Integrated Core Architecture

but it appears this did not change anything w.r.t. my issue.

 

0 Kudos
Steven_L_Intel1
Employee
3,062 Views

You didn't show me the command prompt output. The PATH variable values you show are those established at the system level, not those set by ifortvars.bat. I want to see the output displayed by ifortvars.bat.

0 Kudos
Dennis_Wassel
Beginner
3,062 Views

Steve Lionel (Intel) wrote:

You didn't show me the command prompt output. The PATH variable values you show are those established at the system level, not those set by ifortvars.bat. I want to see the output displayed by ifortvars.bat.

Yes, my bad. I should have explicitly pointed out that ifortvars.bat produces no outputIt does modify PATH, however. Consider before and after:

C:\Users\dwassel\Documents>echo %PATH%
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\m
pirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler;
C:\Windows\system32;
C:\Windows;

<cruft>

 

C:\Users\dwassel\Documents>"c:\Program Files (x86)\Intel\Composer XE 2015\bin\ifortvars.bat" intel64 vs2013

 

C:\Users\dwassel\Documents>echo %PATH%
c:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl;
c:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\compiler;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\mpirt;
C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler;
C:\Windows\system32;
C:\Windows;
<cruft>

So ifortvars.bat added the two front-most  "c:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\" paths, where I expected it to add the path to the compiler binaries as well.

0 Kudos
Steven_L_Intel1
Employee
3,062 Views

That's odd - I would expect at least some output.

What do you get if you use one of the "Command Prompt" shortcuts we put in the Start menu under Intel Parallel Studio XE 2015? Please attach a .txt version of compilervars_arch.bat from the same folder where you found ifortvars.bat.

0 Kudos
Dennis_Wassel
Beginner
3,062 Views

Steve Lionel (Intel) wrote:

That's odd - I would expect at least some output.

Same here - the "old" script (as in ifort 12.1 or so) obediently quotes the version and such when run.

Steve Lionel (Intel) wrote:

What do you get if you use one of the "Command Prompt" shortcuts we put in the Start menu under Intel Parallel Studio XE 2015? Please attach a .txt version of compilervars_arch.bat from the same folder where you found ifortvars.bat.

I was actually trying to steal the correct invocation magic from said shortcut, but it is not installed. Neither is there any compilervars*.bat on this machine. Do I have a broken installation? (just ran the update a couple of days ago, I would hope that should have fixed any brokenness)

0 Kudos
Steven_L_Intel1
Employee
3,063 Views

Yes, you may well have a broken installation. Please uninstall Fortran and reinstall.

0 Kudos
Dennis_Wassel
Beginner
3,062 Views

Steve Lionel (Intel) wrote:

Yes, you may well have a broken installation. Please uninstall Fortran and reinstall.

You know, I hoped you wouldn't suggest that (takes quite long), but it actually did the trick. The ifortvars.bat now does what it says on the box.

Thanks a lot for your input, Steve!

0 Kudos
Steven_L_Intel1
Employee
3,061 Views

Great! I know it's a pain, but installation is complex and sometimes not everything goes where it should.

0 Kudos
Reply