Skip to content

Fix Windows build

One issue is that the CXX compiler is not guaranteed to be provided by distutils configuration in Windows.

https://foss.heptapod.net/fluiddyn/fluidfft/-/blob/970022f13cad2916b8007ed392cc6fde17df07b6/setup_make.py#L47

See the following traceback from a conda-forge build:

%SRC_DIR%>set "CXX=cl.exe" 

%SRC_DIR%>set "CC=cl.exe" 

%SRC_DIR%>set "VSINSTALLDIR=" 

%SRC_DIR%>for /F "usebackq tokens=*" %i in (`vswhere.exe -nologo -products * -version [15.0,16.0) -property installationPath`) do (set "VSINSTALLDIR=%i\" ) 

%SRC_DIR%>(set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" ) 

%SRC_DIR%>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" (for /F "usebackq tokens=*" %i in (`vswhere.exe -nologo -products * -requires Microsoft.VisualStudio.Component.VC.v141.x86.x64 -property installationPath`) do (set "VSINSTALLDIR=%i\" ) ) 

%SRC_DIR%>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\" ) 

%SRC_DIR%>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\" ) 

%SRC_DIR%>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\" ) 

%SRC_DIR%>if not exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" (set "VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\" ) 

%SRC_DIR%>IF NOT "1" == "" (
set "INCLUDE=%PREFIX%\Library\include;%PREFIX%\Library\include;"  
    File ".\setup_make.py", line 271, in <listcomp>
      command = " ".join([conf_vars[k] for k in keys])
  KeyError: 'CXX'
  Building wheel for fluidfft (PEP 517): finished with status 'error'

Source: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=236104&view=logs&j=e5cdccbf-4751-5a24-7406-185c9d30d021&t=66e4a587-a723-53e9-873c-6c9a2c5971ea&l=576

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information