Skip to content

Fail to build with Python 3.14 + Fedora 43 #416

@rbo

Description

@rbo
  • UAMQP Package Version: 1.6.11
  • Operating System: Fedora 43
  • Python Version: 4.13

Describe the bug
A clear and concise description of what the bug is.

Try to install via pip.

Detailed output
[root@18051875eef5 /]# pip3 install uamqp --no-binary :all:
Collecting uamqp
  Using cached uamqp-1.6.11.tar.gz (4.6 MB)
  Installing build dependencies ... /
\

done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting certifi>=2017.4.17 (from uamqp)
  Downloading certifi-2025.11.12.tar.gz (160 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: uamqp, certifi
  Building wheel for uamqp (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for uamqp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [173 lines of output]
      /tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/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 :: MIT License

              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.linux-x86_64-cpython-314/uamqp
      copying uamqp/__init__.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/message.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/errors.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/address.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/sender.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/mgmt_operation.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/utils.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/client.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/constants.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/types.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/compat.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/connection.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/receiver.py -> build/lib.linux-x86_64-cpython-314/uamqp
      copying uamqp/session.py -> build/lib.linux-x86_64-cpython-314/uamqp
      creating build/lib.linux-x86_64-cpython-314/uamqp/authentication
      copying uamqp/authentication/__init__.py -> build/lib.linux-x86_64-cpython-314/uamqp/authentication
      copying uamqp/authentication/cbs_auth.py -> build/lib.linux-x86_64-cpython-314/uamqp/authentication
      copying uamqp/authentication/cbs_auth_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/authentication
      copying uamqp/authentication/common.py -> build/lib.linux-x86_64-cpython-314/uamqp/authentication
      creating build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/__init__.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/client_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/utils.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/connection_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/session_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/receiver_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/mgmt_operation_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      copying uamqp/async_ops/sender_async.py -> build/lib.linux-x86_64-cpython-314/uamqp/async_ops
      running egg_info
      writing uamqp.egg-info/PKG-INFO
      writing dependency_links to uamqp.egg-info/dependency_links.txt
      writing requirements to uamqp.egg-info/requires.txt
      writing top-level names to uamqp.egg-info/top_level.txt
      reading manifest file 'uamqp.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'uamqp.egg-info/SOURCES.txt'
      copying uamqp/c_uamqp.c -> build/lib.linux-x86_64-cpython-314/uamqp
      running build_ext
      will build uamqp in build/temp.linux-x86_64-cpython-314/cmake
      Building with generator flags: -G "Unix Makefiles"
      calling cmake /tmp/pip-install-i0w1by39/uamqp_0db908b6fc1a46489dc75b9b7cfc2b4b/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release
      CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
        Compatibility with CMake < 3.10 will be removed from a future version of
        CMake.

        Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
        to tell CMake that the project requires at least <min> but has been updated
        to work with policies introduced by <max> or earlier.


      -- The C compiler identification is GNU 15.2.1
      -- The CXX compiler identification is GNU 15.2.1
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Error at deps/azure-macro-utils-c/CMakeLists.txt:4 (cmake_minimum_required):
        Compatibility with CMake < 3.5 has been removed from CMake.

        Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
        to tell CMake that the project requires at least <min> but has been updated
        to work with policies introduced by <max> or earlier.

        Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.


      -- Configuring incomplete, errors occurred!
      Traceback (most recent call last):
        File "/usr/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/usr/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.14/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-t82e5xdh/overlay/lib/python3.14/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-t82e5xdh/overlay/lib/python3.14/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-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 404, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 512, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 260, in <module>
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/__init__.py", line 115, in setup
          return distutils.core.setup(**attrs)
                 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
          self.run_command("build")
          ~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/tmp/pip-build-env-t82e5xdh/overlay/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "<string>", line 134, in run
        File "<string>", line 183, in build_cmake
        File "/usr/lib64/python3.14/subprocess.py", line 419, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command 'cmake /tmp/pip-install-i0w1by39/uamqp_0db908b6fc1a46489dc75b9b7cfc2b4b/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for uamqp
  Building wheel for certifi (pyproject.toml) ... done
  Created wheel for certifi: filename=certifi-2025.11.12-py3-none-any.whl size=158375 sha256=793910b4ac680e54828daffbcb81666696e2a4f3b62a50e451126bfcb464e6c1
  Stored in directory: /root/.cache/pip/wheels/96/99/bd/8b4b612329faa1fee7e3e226d6e4082959d9c0198492ab64bb
Successfully built certifi
Failed to build uamqp
ERROR: Failed to build installable wheels for some pyproject.toml based projects (uamqp)
[root@18051875eef5 /]#
[root@18051875eef5 /]#

To Reproduce
Steps to reproduce the behavior:

  1. podman run -ti --rm quay.io/fedora/fedora:43
  2. yum install cmake gcc gcc-c++ make openssl-devel python3-devel
  3. pip3 install uamqp --no-binary :all:

Followed installation deps: https://pypi.org/project/uamqp/

Expected behavior

Successful installation.

Screenshots
n/a

Additional context
n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions