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

Intel Linker (xilib.exe) could not be found

AONym
New Contributor II
936 Views

Using Fortran Compiler Classic 2021.5.0 for the first time, when I try to build my static Fortran library, I get a message

    1>The Intel(R) Linker (xilib.exe) could not be found.

The same library built fine using  2021.3. I just updated both oneAPI Base and HPC.

How do I fix this?

 

0 Kudos
6 Replies
AONym
New Contributor II
928 Views

Additional info: the file xilib.exe can be found in several directories of the form C:\Program Files (x86)\Intel\oneAPI\compiler\<version>\windows\bin\intel64 , with version being

2021.1.1

2021.2.0

2021.3.0

2021.4.0

2022.0.2

latest.

There is no 2021.5.0. I am using 64-bit builds.

Under VS2022 Tools / Options / Intel Compilers and Libraries / IFORT Intel Fortran Classic / Compilers, I see that macro $(IFortInstallDir) is C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0\windows.

It looks like IFORT compiler 2021.5.0 is looking for the non-existent directory C:\Program Files (x86)\Intel\oneAPI\compiler\2021.5.0\windows\bin.

0 Kudos
Ron_Green
Moderator
920 Views

probably related to https://community.intel.com/t5/Intel-Fortran-Compiler/2022-1-2-Base-Toolkit-for-Windows-package-can-break-ifort-ifx/m-p/1355585#M159696

 

I'd do this - uninstall Base and HPC kits.

Then don't install Base Toolkit but DO install HPC Toolkit

 Install oneAPI HPC toolkit w_HPCKit_p_2022.1.0.93

 

Now, what other tools do you want from Base Toolkit?  MKL?  Vtune?  Advisor?  For any of these tools in Base Toolkit let's instead get those a-la-carte with the Component Installers.  GO HERE

Pick the installers for the tools you want to add.  

 

Intel is working on a fix for Base Toolkit and HPC Toolkit, hopefully getting this out Friday 1/4/2022.

 

I apologize for your frustration with our latest Toolkit packages.

0 Kudos
AONym
New Contributor II
913 Views

I spent an entire morning doing the uninstalls and reinstalls of 2022 to get the VS2022 integration working, so I don't like the idea of repeating the process two more times.

Is there any reason I shouldn't create a directory C:\Program Files (x86)\Intel\oneAPI\compiler\2021.5.0\windows\bin\intel64 and copy xilib.exe into it, either from 2021.4.0 or 2022.0.2?

0 Kudos
Ron_Green
Moderator
905 Views

Yes.  The Base Toolkit 2022.1.2, w_BaseKit_p_2022.1.2.154, will corrupt path information.

Toolkits must be at the same major.minor.patch version.  HPC kit for Windows is an older 2022.1.0 version.  When Intel built Basekit 2022.1.2 they SHOULD HAVE built and released a compatible 2022.1.2 version.

The installers set up a symbolic link 'latest' that points to the most recently installed version.   This makes the prior major.minor.patch unreachable.

 

So, Settings -> Apps and remove all oneAPI toolkits. 

 

Then one step at at time

install w_HPCKit_p_2022.1.0.93

Confirm it is working:  Start -> Intel oneAPI 2022 -> Intel oneAPI command prompt for Intel 64 for Visual Studio 20xx

xilib.exe

 

Is it found?  If not

echo %PATH%

and send us your path to look for corruption (missing separators ";" for example or truncated end of path)

 

Now, I would recommend following my advice to add additional tools not in HPC Kit.  OR if you insist on installing BaseKit, then in IRC download for oneAPI Basekit, use the "Choose a Version" to get 2022 2022.1, w_BaseKit_p_2022.1.0.116 

 

0 Kudos
AONym
New Contributor II
894 Views

I uninstalled all oneAPI toolkits (all versions), and installed only HPC and mkl. Now I can build Fortran library. Tnx for your help.

FYI, macro $(IFORT_COMPILER21) is defined as C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.0\windows\. Works, but the naming looks screwy. There is no macro $(IFORT_COMPILER22).

0 Kudos
Ron_Green
Moderator
887 Views

this is correct - the IFORT Classic compiler is compiler version 2021.  Even though it's packaged in oneAPI 2022 packages. 

There is no IFORT compiler version 2022.  A decision (NOT from our Fortran team) was to keep the Classic compilers IFORT and ICC at v2021 with the oneAPI 2022 release.  This because ICC did not have any changes to speak of and hence could not qualify as a 'major' product update, per semantic versioning guidelines.  And we didn't want a Classic ICC at v2021 and IFORT at v2022 because paths and such would be even a bigger mess than they are now.  

On top of all this, IFX is at v2022.  IFORT at 2021.  So where to store these on disk?  2 directories would have been a mess for PATH and other env vars so the decision was to drop the 2021 Classic compilers in with the LLVM compilers in a "2022" directory so they would all be in one place.

 

I know, I know.  <sigh>

 

 

 

 

0 Kudos
Reply