After installing IPS XE 2019 Beta, I am experiencing a problem with IPS XE 2017 Update 2 when running "Intel 64 Visual Studio 2015 environment". I get error "The application was unable to start correctly (0xc0000005). Click OK to close the application." in a window titled "fi_info.exe - Application Error". The corresponding command prompt window I am opening is titled "Intel(R) MPI Library 2019 Pre-Release (Beta) for Windows* Target Build Environment for Intel(R) 64 applications" and the same text is also in the command prompt window. After I click OK, the command prompt window contains following:
Intel(R) MPI Library 2019 Pre-Release (Beta) for Windows* Target Build Environment for Intel(R) 64 applications
Copyright 2007-2018 Intel Corporation.
Intel(R) MPI Library 2017 Update 2 for Windows* Target Build Environment for Intel(R) 64 applications
Copyright (C) 2007-2017 Intel Corporation. All rights reserved.
Copyright (C) 1985-2017 Intel Corporation. All rights reserved.
Intel(R) Compiler 17.0 Update 2 (package 187)
Why would MPI 2019 be used in IPS XE 2017?
The same happens when I try running "Intel 64 Visual Studio 2015 environment" in IPS XE 2019 Beta instead of in IPS XE 2017 Update 2.
Can I ignore the problem? I am not using MPI in my applications.
Path to the start menu link is C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Intel Parallel Studio XE 2019\Compiler and Performance Libraries\Command Prompt with Intel Compiler 19.0 Beta, target is C:\Windows\System32\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.0.045\windows\bin\ipsxe-comp-vars.bat" intel64 vs2015", and the location to start in is "C:\Program Files (x86)\IntelSWTools\". All of them are defaults after IPS XE 2019 Beta installation.
What puzzles me is that MPI 2019 is somehow used along with MPI 2017 even in IPS XE 2017.
Fortunately, compiling and linking from command line works well in 2017, despite the error message related to MPI 2019.
I see, I am sorry, my PATH has 1677 characters, which should be below the limit of 2047 characters. If it makes any sense to show it here, this is my PATH variable contents:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.0.045\windows\mpi\intel64\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;%INTEL_DEV_REDIST%redist\intel64_win\mpirt;%INTEL_DEV_REDIST%redist\ia32_win\mpirt;%INTEL_DEV_REDIST%redist\intel64_win\compiler;%INTEL_DEV_REDIST%redist\ia32_win\compiler;C:\Program Files (x86)\Kerio\Outlook Connector (Offline Edition)\;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files\Broadcom\Broadcom 802.11;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\UCRT\;C:\Program Files\Intel\UCRT\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\OpenVPN\bin;C:\Program Files (x86)\Skype\Phone\;c:\Program Files\WIDCOMM\Bluetooth Software\;c:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\TortoiseHg\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;D:\Source_Java\gfm\lib\java3d\Win64;D:\Source_Java\gfm\lib\jmg\win64;D:\Source_Java\gfm\lib\occ\win64
For example in the path that you show, you have %INTEL_DEV_REDIST%redist\intel64_win\compiler as one of the paths to be searched. The %INTEL_DEV_REDIST% bit is a request to substitute the value of the INTEL_DEV_REDIST environment variable at that point in the path (it's value will be something like C:\Program Files (x86)\xyz...). That substitution should have happened when you started the command prompt, but it hasn't, most likely because the total length of the path, after substitutions, would be too long.
Particularly problematic is that the variables that references the system directories have not been expanded. This results in all sorts of things going wrong!
Try and reduce the number of entries in your system path. I think I see some duplicate items in what you have posted. Don't worry so much about your user path.
I recall a knowledge base article about this on the intel site, but my attempts at finding it have failed.
Thank you very much for your explanation, everything is clear now and it should have been clear to me already before what %VAR% means and it used for.
I double checked the contents of my PATH variable and it contains no duplicates. I also tried replacing all %VAR% with the corresponding full path and the resulting size of the PATH variable is 1909 characters including spaces, so I should not be hitting the limit of 2048 characters.
Since I have 2016, 2017 and 2019 versions of IPS XE installed, I uninstalled 2019 Beta, which reduced the length of PATH (by removing C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.0.045\windows\mpi\intel64\bin) to 1813 characters; and everything works well, like before installing 2019.
To conclude my tests, this does not feel like a too long PATH problem.
The MPI 2019 environment for IPS XE 2017 command windows is caused by the environment setup script of IPS XE 2017 which checks the system environment variable "I_MPI_ROOT" first and will invoke it if it exists. The installation program of IPS XE 2019 will update the system I_MPI_ROOT setting to its MPI folder. This behavior has been changed since IPS XE 2018.
Regarding the error of "fi_info.exe" error it may be caused by the MPI libfabric utility program can't run correctly in your system environment. If your program doesn't use MPI you can safely ignore it or just choose not to install MPI Library when installing the beta.
We also encourage you report the error via our Online Service Center at https://supporttickets.intel.com/ under the product of "Intel MPI Library " for further investigation. We would need to look at your OS, Visual Studio and other information .
Instructions on how to file a ticket are available here: https://software.intel.com/en-us/articles/how-to-create-a-support-request-at-online-service-center
Intel Customer Support
Sorry for the inconvenience. Since the issue is caused by the Intel MPI 2019 Beta, I have transferred the issue to the Intel® Clusters and HPC Technology forum. We have reproduced the issue on our side and I am contacting the developers now. It would be very appreciate if you could file a ticket via https://supporttickets.intel.com/ and let me know the issue ID.