Skip to content

Failed building wheels for aidge_quantization on windows

What commit version of aidge do you use

  • aidge_core: 0.6.2
  • aidge_quantization: 0.4.1

Problem description

I was installing the aidge_quantization modul using "pip install . -v" on Windows and the process failed during the CMake build, specially when trying to compile CUDA code. I checked my CUDA Toolkit installation and my Visual Studio integration and everything seems to be correct. I tried to force CMake to use MSVC compiler (as expected on windows) and not gcc, but the error persists. Can you please help me to solve the error ?

(env_aidge) C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization>pip install . -v
Using pip 25.1.1 from C:\Users\LALLOYER\AIDGE\env_aidge\Lib\site-packages\pip (python 3.13)
Processing c:\users\lalloyer\aidge\aidge\aidge\aidge_quantization
  Running command pip subprocess to install build dependencies
  Using pip 25.1.1 from C:\Users\LALLOYER\AIDGE\env_aidge\Lib\site-packages\pip (python 3.13)
  Collecting setuptools>=64
    Obtaining dependency information for setuptools>=64 from https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl.metadata
    Using cached setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)
  Collecting cmake>=3.15.3.post1
    Obtaining dependency information for cmake>=3.15.3.post1 from https://files.pythonhosted.org/packages/a6/03/70e3bfff49ee89b3e4a137b5504ad003b0cae8dbc291cb753228f55b4b9f/cmake-4.0.3-py3-none-win_amd64.whl.metadata
    Using cached cmake-4.0.3-py3-none-win_amd64.whl.metadata (6.3 kB)
  Collecting toml
    Obtaining dependency information for toml from https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl.metadata
    Using cached toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
  Collecting pbr
    Obtaining dependency information for pbr from https://files.pythonhosted.org/packages/47/ac/684d71315abc7b1214d59304e23a982472967f6bf4bde5a98f1503f648dc/pbr-6.1.1-py2.py3-none-any.whl.metadata
    Using cached pbr-6.1.1-py2.py3-none-any.whl.metadata (3.4 kB)
  Using cached setuptools-80.9.0-py3-none-any.whl (1.2 MB)
  Using cached cmake-4.0.3-py3-none-win_amd64.whl (36.9 MB)
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
  Using cached pbr-6.1.1-py2.py3-none-any.whl (108 kB)
  Installing collected packages: toml, setuptools, cmake, pbr
    Creating C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Scripts

  Successfully installed cmake-4.0.3 pbr-6.1.1 setuptools-80.9.0 toml-0.10.2
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: project.license as a TOML table is deprecated
  !!

          ********************************************************************************
          Please use a simple string containing a SPDX expression for project.license. You can also use project.license-files. (Both options available on setuptools>=77.0.0).

          By 2026-Feb-18, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    corresp(dist, value, root_dir)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\expand.py:128: SetuptoolsWarning: File 'C:\\Users\\LALLOYER\\AIDGE\\aidge\\aidge\\aidge_quantization\\LICENSE' cannot be found
    for path in _filter_existing_files(_filepaths)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    dist._finalize_license_expression()
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    self._finalize_license_expression()
  running egg_info
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\pbr\git.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
    import pkg_resources
  writing aidge_quantization.egg-info\PKG-INFO
  writing dependency_links to aidge_quantization.egg-info\dependency_links.txt
  writing requirements to aidge_quantization.egg-info\requires.txt
  writing top-level names to aidge_quantization.egg-info\top_level.txt
  reading manifest file 'aidge_quantization.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'LICENCE'
  writing manifest file 'aidge_quantization.egg-info\SOURCES.txt'
  Getting requirements to build wheel ... done
  Running command Preparing metadata (pyproject.toml)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: project.license as a TOML table is deprecated
  !!

          ********************************************************************************
          Please use a simple string containing a SPDX expression for project.license. You can also use project.license-files. (Both options available on setuptools>=77.0.0).

          By 2026-Feb-18, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    corresp(dist, value, root_dir)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\expand.py:128: SetuptoolsWarning: File 'C:\\Users\\LALLOYER\\AIDGE\\aidge\\aidge\\aidge_quantization\\LICENSE' cannot be found
    for path in _filter_existing_files(_filepaths)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    dist._finalize_license_expression()
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    self._finalize_license_expression()
  running dist_info
  creating C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\pbr\git.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
    import pkg_resources
  writing C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\PKG-INFO
  writing dependency_links to C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\dependency_links.txt
  writing requirements to C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\requires.txt
  writing top-level names to C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\top_level.txt
  writing manifest file 'C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\SOURCES.txt'
  reading manifest file 'C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'LICENCE'
  writing manifest file 'C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization.egg-info\SOURCES.txt'
  creating 'C:\Users\LALLOYER\AppData\Local\Temp\pip-modern-metadata-y21wfyho\aidge_quantization-0.4.1.dist-info'
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.21.6 in c:\users\lalloyer\aidge\env_aidge\lib\site-packages (from aidge_quantization==0.4.1) (2.3.1)
Building wheels for collected packages: aidge_quantization
  Running command Building wheel for aidge_quantization (pyproject.toml)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: project.license as a TOML table is deprecated
  !!

          ********************************************************************************
          Please use a simple string containing a SPDX expression for project.license. You can also use project.license-files. (Both options available on setuptools>=77.0.0).

          By 2026-Feb-18, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    corresp(dist, value, root_dir)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\expand.py:128: SetuptoolsWarning: File 'C:\\Users\\LALLOYER\\AIDGE\\aidge\\aidge\\aidge_quantization\\LICENSE' cannot be found
    for path in _filter_existing_files(_filepaths)
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    dist._finalize_license_expression()
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    self._finalize_license_expression()
  running bdist_wheel
  running build
  running build_py
  creating build\lib.win-amd64-cpython-313\aidge_quantization
  copying aidge_quantization\__init__.py -> build\lib.win-amd64-cpython-313\aidge_quantization
  running egg_info
  C:\Users\LALLOYER\AppData\Local\Temp\pip-build-env-0u7wanv9\overlay\Lib\site-packages\pbr\git.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
    import pkg_resources
  writing aidge_quantization.egg-info\PKG-INFO
  writing dependency_links to aidge_quantization.egg-info\dependency_links.txt
  writing requirements to aidge_quantization.egg-info\requires.txt
  writing top-level names to aidge_quantization.egg-info\top_level.txt
  reading manifest file 'aidge_quantization.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'LICENCE'
  writing manifest file 'aidge_quantization.egg-info\SOURCES.txt'
  running build_ext
  cmake C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization -DTEST=OFF -DCMAKE_INSTALL_PREFIX:PATH=C:\Users\LALLOYER\AIDGE\env_aidge\lib\libAidge -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DENABLE_ASAN=OFF -DCUDA=ON -DPYBIND=ON -DPYBIND11_FINDPYTHON=ON -DPYBIND_INSTALL_PREFIX:PATH=C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\lib.win-amd64-cpython-313\aidge_quantization -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCOVERAGE=OFF
  -- Project name: aidge_quantization
  -- Project version: 0.4.1
  -- Latest git commit: 74be2b3
  -- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.19045.
  -- Creating C:/Users/LALLOYER/AIDGE/aidge/aidge/aidge_quantization/include/aidge/quantization_version.h
  CMake Error at C:/Users/LALLOYER/AppData/Local/Temp/pip-build-env-0u7wanv9/overlay/Lib/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:909 (message):
    Compiling the CUDA compiler identification source file
    "CMakeCUDACompilerId.cu" failed.

    Compiler:

    Build flags:

    Id flags: --keep;--keep-dir;tmp -v



    The output was:

    1

    Version MSBuild 17.14.14+a129329f1 pour .NET Framework

    La g├®n├®ration a d├®marr├® 09/07/2025 09:37:10.



    Projet
    "C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CompilerIdCUDA.vcxproj"
    sur le n┼ôud 1 (cibles par d├®faut).

    PrepareForBuild:

      Cr├®ation du r├®pertoire "Debug\".
      La sortie structur├®e est activ├®e. La mise en forme du compilateur diagnostics refl├¿te la hi├®rarchie des erreurs. Pour plus dÔÇÖinformations, consultez https://aka.ms/cpp/structured-output.
      Cr├®ation du r├®pertoire "Debug\CompilerIdCUDA.tlog\".

    InitializeBuildStatus:

      Cr├®ation de "Debug\CompilerIdCUDA.tlog\unsuccessfulbuild", car "AlwaysCreate" a ├®t├® sp├®cifi├®.
      Mise à jour de l'horodatage "Debug\CompilerIdCUDA.tlog\unsuccessfulbuild".

    ClCompile:

      C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64\CL.exe /c /nologo /W0 /WX- /diagnostics:column /Od /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc143.pdb" /external:W0 /Gd /TP /FC /errorReport:queue CMakeCUDACompilerId.cu
      CMakeCUDACompilerId.cu


    C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CMakeCUDACompilerId.cu(2,1):
    error C1189: #error: "A C or C++ compiler has been selected for CUDA"
    [C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CompilerIdCUDA.vcxproj]

    G├®n├®ration du projet
    "C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CompilerIdCUDA.vcxproj"
    termin├®e (cibles par d├®faut) -- ├ëCHEC.



    ÉCHEC de la build.




    "C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CompilerIdCUDA.vcxproj"
    (cible par d├®faut) (1) ->

    (ClCompile cible) ->

      C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CMakeCUDACompilerId.cu(2,1): error C1189: #error:  "A C or C++ compiler has been selected for CUDA" [C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization\build\CMakeFiles\4.0.3\CompilerIdCUDA\CompilerIdCUDA.vcxproj]



        0 Avertissement(s)
        1 Erreur(s)



    Temps ├®coul├® 00:00:01.40





  Call Stack (most recent call first):
    C:/Users/LALLOYER/AppData/Local/Temp/pip-build-env-0u7wanv9/overlay/Lib/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:8 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
    C:/Users/LALLOYER/AppData/Local/Temp/pip-build-env-0u7wanv9/overlay/Lib/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCompilerId.cmake:53 (__determine_compiler_id_test)
    C:/Users/LALLOYER/AppData/Local/Temp/pip-build-env-0u7wanv9/overlay/Lib/site-packages/cmake/data/share/cmake-4.0/Modules/CMakeDetermineCUDACompiler.cmake:139 (CMAKE_DETERMINE_COMPILER_ID)
    CMakeLists.txt:77 (enable_language)


  -- Configuring incomplete, errors occurred!
  error: command 'C:\\Users\\LALLOYER\\AppData\\Local\\Temp\\pip-build-env-0u7wanv9\\overlay\\Scripts\\cmake.EXE' failed with exit code 1
  error: subprocess-exited-with-error

  × Building wheel for aidge_quantization (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: 'C:\Users\LALLOYER\AIDGE\env_aidge\Scripts\python.exe' 'C:\Users\LALLOYER\AIDGE\env_aidge\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' build_wheel 'C:\Users\LALLOYER\AppData\Local\Temp\tmptyjxv3ka'
  cwd: C:\Users\LALLOYER\AIDGE\aidge\aidge\aidge_quantization
  Building wheel for aidge_quantization (pyproject.toml) ... error
  ERROR: Failed building wheel for aidge_quantization
Failed to build aidge_quantization
ERROR: Failed to build installable wheels for some pyproject.toml based projects (aidge_quantization)