Skip to content

pip awsiotsdk fails using python 3.13 #630

@wills721

Description

@wills721

Describe the bug

Using Python 3.13.5 I am getting the following error during pip installation of awsiotsdk

: + ./python3.13 -m pip install awsiotsdk
:: error: subprocess-exited-with-error
::
:: × Building wheel for awscrt (pyproject.toml) did not run successfully.
:: │ exit code: 1
:: ╰─> [162 lines of output]
:: /tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/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)
:: running bdist_wheel
:: running build
:: running build_py
:: creating build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/io.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/auth.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/exceptions.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/mqtt.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/s3.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/http.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/websocket.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/_test.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/cbor.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/checksums.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/mqtt5.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/crypto.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/common.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/init.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: copying awscrt/mqtt_request_response.py -> build/lib.linux-aarch64-cpython-313t/awscrt
:: creating build/lib.linux-aarch64-cpython-313t/awscrt/eventstream
:: copying awscrt/eventstream/init.py -> build/lib.linux-aarch64-cpython-313t/awscrt/eventstream
:: copying awscrt/eventstream/rpc.py -> build/lib.linux-aarch64-cpython-313t/awscrt/eventstream
:: running egg_info
:: writing awscrt.egg-info/PKG-INFO
:: writing dependency_links to awscrt.egg-info/dependency_links.txt
:: writing requirements to awscrt.egg-info/requires.txt
:: writing top-level names to awscrt.egg-info/top_level.txt
:: reading manifest file 'awscrt.egg-info/SOURCES.txt'
:: reading manifest template 'MANIFEST.in'
:: warning: no previously-included files matching '.git*' found anywhere in distribution
:: warning: no previously-included files matching '.git*/' found anywhere in distribution
:: warning: no previously-included files matching '.travis*' found anywhere in distribution
:: warning: no previously-included files matching '.travis/
' found anywhere in distribution
:: warning: no previously-included files matching '.builder/' found anywhere in distribution
:: warning: no previously-included files matching 'format-check.py' found anywhere in distribution
:: warning: no previously-included files matching 'builder.json' found anywhere in distribution
:: warning: no previously-included files matching 'codebuild/
' found anywhere in distribution
:: warning: no previously-included files matching '.clang-format' found anywhere in distribution
:: warning: no previously-included files matching '.clang-tidy' found anywhere in distribution
:: warning: no previously-included files matching 'crt//verification/**' found anywhere in distribution
:: warning: no previously-included files matching 'crt/
/docs/' found anywhere in distribution
:: warning: no previously-included files matching 'crt/*/bin/
' found anywhere in distribution
:: warning: no previously-included files matching 'crt//scripts/' found anywhere in distribution
:: warning: no previously-included files matching 'docker-images/
' found anywhere in distribution
:: warning: no previously-included files matching 'crt/aws-lc/**/crypto_test_data
' found anywhere in distribution
:: no previously-included directories found matching 'crt//AWSCRTAndroidTestRunner'
:: no previously-included directories found matching 'crt/aws-c-auth/tests'
:: no previously-included directories found matching 'crt/aws-c-cal/tests'
:: no previously-included directories found matching 'crt/aws-c-common/tests'
:: no previously-included directories found matching 'crt/aws-c-compression/tests'
:: no previously-included directories found matching 'crt/aws-c-io/tests'
:: no previously-included directories found matching 'crt/aws-c-mqtt/tests'
:: no previously-included directories found matching 'crt/aws-c-s3/tests'
:: no previously-included directories found matching 'crt/aws-c-sdkutils/tests'
:: no previously-included directories found matching 'crt/aws-c-cal/ecdsa-fuzz-corpus'
:: no previously-included directories found matching 'crt/aws-c-s3/benchmarks'
:: no previously-included directories found matching 'crt/s2n/tests'
:: no previously-included directories found matching 'crt/s2n/compliance/specs'
:: warning: no previously-included files found matching 'crt/aws-lc/
/test.go'
:: warning: no previously-included files found matching 'crt/aws-lc//test.json'
:: warning: no previously-included files found matching 'crt/aws-lc/
/test.py'
:: warning: no previously-included files found matching 'crt/aws-lc/**/test.txt'
:: no previously-included directories found matching 'crt/aws-lc/fuzz'
:: no previously-included directories found matching 'crt/aws-lc/ssl'
:: no previously-included directories found matching 'crt/aws-lc/tool'
:: adding license file 'LICENSE'
:: adding license file 'NOTICE'
:: writing manifest file 'awscrt.egg-info/SOURCES.txt'
:: running build_ext
:: Traceback (most recent call last):
:: File "/root/parts/python-3-13/install/usr/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in
:: main()
:: ~~~~^^
:: File "/root/parts/python-3-13/install/usr/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
:: json_out["return_val"] = hook(**hook_input["kwargs"])
:: ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
:: File "/root/parts/python-3-13/install/usr/lib/python3.13t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
:: return _build_backend().build_wheel(
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
:: wheel_directory, config_settings, metadata_directory
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:: )
:: ^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 435, in build_wheel
:: return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 423, in _build
:: return self._build_with_temp_dir(
:: ~~~~~~~~~~~~~~~~~~~~~~~~~^
:: cmd,
:: ^^^^
:: ...<3 lines>...
:: self._arbitrary_args(config_settings),
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:: )
:: ^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 404, in _build_with_temp_dir
:: self.run_setup()
:: ~~~~~~~~~~~~~~^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/build_meta.py", line 317, in run_setup
:: exec(code, locals())
:: ~~~~^^^^^^^^^^^^^^^^
:: File "", line 524, in
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/init.py", line 115, in setup
:: return distutils.core.setup(**attrs)
:: ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/core.py", line 186, in setup
:: return run_commands(dist)
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
:: dist.run_commands()
:: ~~~~~~~~~~~~~~~~~^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
:: self.run_command(cmd)
:: ~~~~~~~~~~~~~~~~^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/dist.py", line 1102, in run_command
:: super().run_command(command)
:: ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
:: cmd_obj.run()
:: ~~~~~~~~~~~^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
:: self.run_command("build")
:: ~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
:: self.distribution.run_command(command)
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/dist.py", line 1102, in run_command
:: super().run_command(command)
:: ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
:: cmd_obj.run()
:: ~~~~~~~~~~~^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/command/build.py", line 135, in run
:: self.run_command(cmd_name)
:: ~~~~~~~~~~~~~~~~^^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
:: self.distribution.run_command(command)
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/dist.py", line 1102, in run_command
:: super().run_command(command)
:: ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
:: File "/tmp/pip-build-env-ajnn1yb9/overlay/lib/python3.13t/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
:: cmd_obj.run()
:: ~~~~~~~~~~~^^
:: File "", line 382, in run
:: File "", line 361, in _build_dependencies
:: File "", line 239, in _build_dependencies_impl
:: File "", line 158, in get_cmake_path
:: Exception: CMake must be installed to build from source.
:: [end of output]
::
:: note: This error originates from a subprocess, and is likely not a problem with pip.
:: ERROR: Failed building wheel for awscrt
:: ERROR: Failed to build installable wheels for some pyproject.toml based projects (awscrt)
Review the scriptlet and make sure it's correct.

Any idea?

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

pip install works properly

Current Behavior

Fails with error above

Reproduction Steps

Run pip install on awsiotsdk

Possible Solution

No response

Additional Information/Context

No response

SDK version used

awsiotsdk

Environment details (OS name and version, etc.)

Ubuntu

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions