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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions