0

I have the following in my meta.yaml file:

requirements:
  build:
    - vs2019_win-64  # Uncomment for Windows build only.
{snip}

But, when I peruse my (failed) build results I see that VS14 was being invoked:

dbanas@Dell-XPS-15 MINGW64 ~/prj/PyBERT (master)
$ tail -n 15 ~/miniconda3/conda-bld/enable_1678736743281/work/build_env_setup.bat | head -n 10
set DISTUTILS_USE_SDK=1
set MSSdk=1
set PY_VCRUNTIME_REDIST=%LIBRARY_BIN%\vcruntime140.dll
set "VS_VERSION=14.0"
set "VS_MAJOR=14"
set "VS_YEAR=2015"
set "CMAKE_GENERATOR=Visual Studio 14 2015 Win64"
set "MSYS2_ARG_CONV_EXCL=/AI;/AL;/OUT;/out"
set "MSYS2_ENV_CONV_EXCL=CL"
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64

This is, of course, problematic, since the file C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat doesn't exist. (In fact, the directory C:\Program Files (x86)\Microsoft Visual Studio 14.0\ doesn't exist.)

Do I need to add something other than the vs2019_win-64 build: requirement, in order to "steer" the conda-build process towards my Visual Studio 2019 installation?

Which of the following batch files replaces vcvarsall.bat?

dbanas@Dell-XPS-15 MINGW64 ~/prj/PyBERT (master)
$ find /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/ -name '*.bat'
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/LaunchDevCmd.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/dotnet.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/msbuild.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/parse_cmd.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/vsdevcmd_end.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/vsdevcmd_start.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/core/winsdk.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/ext/netfxsdk.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/vsdevcmd/ext/roslyn.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/VsDevCmd.bat
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/Common7/Tools/VsMSBuildCmd.bat
dbanas
  • 1,707
  • 14
  • 24
  • Did you open a command prompt labeled "for VS 2015"? To support side-by-side installs each of the "DOS Box" command prompt icons will point to a different set of environment variables. The VS 2015 box to 2015, the 2019 box to 2019. – Dave S Mar 13 '23 at 21:51

1 Answers1

0

This was due to an incomplete Visual Studio installation. Contrary to many tips I found, just installing the Build Tools for C/C++ package is not enough to support conda build. You also need to install the Desktop Development with C++ Workload package, as per this helpful gem.

After modifying my Visual Studio installation to include that package, I have the vcvarsall.bat file back again:

dbanas@Dell-XPS-15 MINGW64 ~/prj/PyBERT (master)
$ find /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/ -name 'vcvarsall.bat'
/c/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Auxiliary/Build/vcvarsall.bat

And my conda build now succeeds! :)

dbanas
  • 1,707
  • 14
  • 24