MicrosoftDocs / winrt-api

WinRT reference content for developing Microsoft Universal Windows Platform (UWP) apps
Creative Commons Attribution 4.0 International
227 stars 493 forks source link

Devices.Bluetooth.GenericAttributeProfile won't build under pip #2439

Open brookst opened 6 months ago

brookst commented 6 months ago

I was trying to rebuild winrt-Windows.Devices.Bluetooth.GenericAttributeProfile to fix an issue with some DLL version mismatches. Running the command, pip install --no-binary winrt-Windows.Devices.Bluetooth.GenericAttributeProfile winrt-Windows.Devices.Bluetooth.GenericAttributeProfile, gives the following output:

Collecting winrt-Windows.Devices.Bluetooth.GenericAttributeProfile
  Downloading winrt-Windows.Devices.Bluetooth.GenericAttributeProfile-2.0.0b2.tar.gz (30 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting winrt-runtime==2.0.0-beta.2 (from winrt-Windows.Devices.Bluetooth.GenericAttributeProfile)
  Using cached winrt_runtime-2.0.0b2-cp39-cp39-win_amd64.whl.metadata (735 bytes)
Using cached winrt_runtime-2.0.0b2-cp39-cp39-win_amd64.whl (28 kB)
Building wheels for collected packages: winrt-Windows.Devices.Bluetooth.GenericAttributeProfile
  Building wheel for winrt-Windows.Devices.Bluetooth.GenericAttributeProfile (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for winrt-Windows.Devices.Bluetooth.GenericAttributeProfile (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [47 lines of output]
      WARNING setuptools_scm._integration.setuptools pyproject.toml does not contain a tool.setuptools_scm section
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-39
      creating build\lib.win-amd64-cpython-39\winrt
      creating build\lib.win-amd64-cpython-39\winrt\windows
      creating build\lib.win-amd64-cpython-39\winrt\windows\devices
      creating build\lib.win-amd64-cpython-39\winrt\windows\devices\bluetooth
      creating build\lib.win-amd64-cpython-39\winrt\windows\devices\bluetooth\genericattributeprofile
      copying winrt\windows\devices\bluetooth\genericattributeprofile\__init__.py -> build\lib.win-amd64-cpython-39\winrt\windows\devices\bluetooth\genericattributeprofile
      running egg_info
      writing winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\PKG-INFO
      writing dependency_links to winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\dependency_links.txt
      writing requirements to winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\requires.txt
      writing top-level names to winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\top_level.txt
      ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
      reading manifest file 'winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\SOURCES.txt'
      writing manifest file 'winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info\SOURCES.txt'
      copying winrt\_winrt_windows_devices_bluetooth_genericattributeprofile.pyi -> build\lib.win-amd64-cpython-39\winrt
      running build_ext
      building 'winrt._winrt_windows_devices_bluetooth_genericattributeprofile' extension
      creating build\temp.win-amd64-cpython-39
      creating build\temp.win-amd64-cpython-39\Release
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\User\AppData\Local\Temp\pip-build-env-o6qis9ph\overlay\Lib\site-packages\winrt_sdk\cppwinrt -IC:\Users\User\AppData\Local\Temp\pip-build-env-o6qis9ph\overlay\Lib\site-packages\winrt_sdk\pywinrt "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\include" "-IC:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /EHsc /Tppy.Windows.Devices.Bluetooth.GenericAttributeProfile.cpp /Fobuild\temp.win-amd64-cpython-39\Release\py.Windows.Devices.Bluetooth.GenericAttributeProfile.obj /std:c++20 /permissive-
      py.Windows.Devices.Bluetooth.GenericAttributeProfile.cpp
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\libs" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0" "/LIBPATH:C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\PCbuild\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22621.0\\um\x64" windowsapp.lib /EXPORT:PyInit__winrt_windows_devices_bluetooth_genericattributeprofile build\temp.win-amd64-cpython-39\Release\py.Windows.Devices.Bluetooth.GenericAttributeProfile.obj /OUT:build\lib.win-amd64-cpython-39\winrt\_winrt_windows_devices_bluetooth_genericattributeprofile.cp39-win_amd64.pyd /IMPLIB:build\temp.win-amd64-cpython-39\Release\_winrt_windows_devices_bluetooth_genericattributeprofile.cp39-win_amd64.lib
         Creating library build\temp.win-amd64-cpython-39\Release\_winrt_windows_devices_bluetooth_genericattributeprofile.cp39-win_amd64.lib and object build\temp.win-amd64-cpython-39\Release\_winrt_windows_devices_bluetooth_genericattributeprofile.cp39-win_amd64.exp
      Generating code
      Finished generating code
      installing to build\bdist.win-amd64\wheel
      running install
      running install_lib
      creating build\bdist.win-amd64
      creating build\bdist.win-amd64\wheel
      creating build\bdist.win-amd64\wheel\winrt
      creating build\bdist.win-amd64\wheel\winrt\windows
      creating build\bdist.win-amd64\wheel\winrt\windows\devices
      creating build\bdist.win-amd64\wheel\winrt\windows\devices\bluetooth
      creating build\bdist.win-amd64\wheel\winrt\windows\devices\bluetooth\genericattributeprofile
      copying build\lib.win-amd64-cpython-39\winrt\windows\devices\bluetooth\genericattributeprofile\__init__.py -> build\bdist.win-amd64\wheel\.\winrt\windows\devices\bluetooth\genericattributeprofile
      copying build\lib.win-amd64-cpython-39\winrt\_winrt_windows_devices_bluetooth_genericattributeprofile.cp39-win_amd64.pyd -> build\bdist.win-amd64\wheel\.\winrt
      copying build\lib.win-amd64-cpython-39\winrt\_winrt_windows_devices_bluetooth_genericattributeprofile.pyi -> build\bdist.win-amd64\wheel\.\winrt
      running install_egg_info
      Copying winrt_Windows.Devices.Bluetooth.GenericAttributeProfile.egg-info to build\bdist.win-amd64\wheel\.\winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.0.0b2-py3.9.egg-info
      error: [WinError 206] The filename or extension is too long: 'build\\bdist.win-amd64\\wheel\\.\\winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.0.0b2-py3.9.egg-info'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for winrt-Windows.Devices.Bluetooth.GenericAttributeProfile
Failed to build winrt-Windows.Devices.Bluetooth.GenericAttributeProfile
ERROR: Could not build wheels for winrt-Windows.Devices.Bluetooth.GenericAttributeProfile, which is required to install pyproject.toml-based projects

Other winrt APIs seem to build fine in this manner. I'm not sure if this is really a Windows filesystem error or some check in install_egg_info. I ran into the build failure on GH Actions, but ran the above on my machine to confirm.