Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6810 Discussions

2022 Visual Studio IPP setvars.bat error: oneAPI toolkits no longer supports 32-bit libraries

eddie_patton
New Contributor II
835 Views

Windows 11

IPP 2025

Visual Studio 2022

Visual Studio Code 1.92.3

When I run the IPP setvars.bat Developer Powershell in Visual Studio 2022 with this command:

 

`cmd.exe "/K" '"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell'`

 

I get an error stating 

 

ERROR: The oneAPI toolkits no longer support 32-bit libraries, starting with the 2025.0 toolkit release. See the oneAPI release notes for more details.

 

I figured out that this error occurs in this setvars.bat code

 

rem ===========================================================================
rem Override default 64-bit target if 32-bit Visual Studio env already exists.
rem Primarily affects "classic" compilers and some libraries (e.g., IPP, MKL).
if defined VSCMD_VER (
  echo: VSCMD_VER is defined. 
  if /i [%VSCMD_ARG_TGT_ARCH%] == [x86] (
    echo :: ERROR: The oneAPI toolkits no longer support 32-bit libraries, starting with the 2025.0 toolkit release. See the oneAPI release notes for more details.
    echo: Error came from %VSCMD_ARG_TGT_ARCH%
    call :Usage
    goto :eofCleanup
  ) else (
    set TARGET_ARCH=intel64
  )
)

 

I printed VSCMD_ARG_TGT_ARCH and it is "x86"

But when I ran commands to check of the powershell is 32 or 64 bit, I get the following on both Visual Studio and VS Code.

 

> [System.IntPtr]::Size
8
> $PSHOME
C:\Windows\System32\WindowsPowerShell\v1.0

 

According to google, the two above outputs say that the powershell is 64 bit.

In VS Code, the setvars.bat cmd completes without error. 

So is this bug in setvars.bat? 

0 Kudos
1 Solution
Ruqiu_C_Intel
Moderator
767 Views

Have you checked VSCMD_ARG_TGT_ARCH value? It should be x64 for 64-bit

x86: Indicates that the target architecture is 32-bit x86.
x64: Indicates that the target architecture is 64-bit x64.


C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>vcvarsall.bat x64
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.3
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>devenv

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>echo %VSCMD_ARG_TGT_ARCH%
x64

 

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>echo %VSCMD_ARG_TGT_ARCH%
x64

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell
:: initializing oneAPI environment...
   Initializing Visual Studio command-line environment...
   Visual Studio version 17.12.3 environment configured.
   "C:\Program Files\Microsoft Visual Studio\2022\Professional\"
   Visual Studio command-line environment initialized for: 'x64'
:  compiler -- latest
:  debugger -- latest
:  dev-utilities -- latest
:  dnnl -- latest
:  dpcpp-ct -- latest
:  dpl -- latest
:  ipp -- latest
:  ippcp -- latest
:  mkl -- latest
:  mpi -- latest
:  ocloc -- latest
:  pti -- latest
:  tbb -- latest
:  umf -- latest
:  vtune -- latest
:: oneAPI environment initialized ::
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>

 

View solution in original post

0 Kudos
2 Replies
Ruqiu_C_Intel
Moderator
768 Views

Have you checked VSCMD_ARG_TGT_ARCH value? It should be x64 for 64-bit

x86: Indicates that the target architecture is 32-bit x86.
x64: Indicates that the target architecture is 64-bit x64.


C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>vcvarsall.bat x64
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.3
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>devenv

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>echo %VSCMD_ARG_TGT_ARCH%
x64

 

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>echo %VSCMD_ARG_TGT_ARCH%
x64

C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell
:: initializing oneAPI environment...
   Initializing Visual Studio command-line environment...
   Visual Studio version 17.12.3 environment configured.
   "C:\Program Files\Microsoft Visual Studio\2022\Professional\"
   Visual Studio command-line environment initialized for: 'x64'
:  compiler -- latest
:  debugger -- latest
:  dev-utilities -- latest
:  dnnl -- latest
:  dpcpp-ct -- latest
:  dpl -- latest
:  ipp -- latest
:  ippcp -- latest
:  mkl -- latest
:  mpi -- latest
:  ocloc -- latest
:  pti -- latest
:  tbb -- latest
:  umf -- latest
:  vtune -- latest
:: oneAPI environment initialized ::
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build>

 

0 Kudos
eddie_patton
New Contributor II
733 Views

That helped. I opened the command line window using Tools -> Command Line -> Developer Command Line.

 

 

When I specified x64, 

 

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build>vcvarsall.bat x64
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.9.5
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build>echo %VSCMD_ARG_TGT_ARCH%
x64

 

And then when running the command below, I got the same output as you. 
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" && powershell

 

 

 

0 Kudos
Reply