I have python3.12 as the default python in poudriere. It worked fine at first, but the first build with errors was on 2026-04-24_19h05m02s. I have a cron job that runs every hour that builds all the packages I use and the last build without errors was on 2026-04-24_18h05m01s. -- ===> qemu-guest-agent-11.0.0_1 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so) ===> Returning to build of qemu-guest-agent-11.0.0_1 ===> qemu-guest-agent-11.0.0_1 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) =========================================================================== =======================<phase: configure >============================ ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for qemu-guest-agent-11.0.0_1 Using './build' as the directory for build output python determined to be '/usr/local/bin/python3.12' python version: Python 3.12.13 mkvenv: Creating non-isolated virtual environment at 'pyvenv' mkvenv: checking for meson>=1.5.0 mkvenv: checking for pycotap>=1.1.0 mkvenv: installing meson==1.10.0, pycotap==1.3.1 mkvenv: checking for qemu.qmp>=0.0.5 mkvenv: checking for setuptools>=44.1.1 mkvenv: checking for wheel>=0.34.2 mkvenv: checking for pip>=20.3.4 mkvenv: installing setuptools>=44.1.1, pip>=20.3.4 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError("<pip._vendor.urllib3.connection.HTTPSConnection object at 0x3cb9179f6ab0>: Failed to establish a new connection: [Errno 49] Can't assign requested address")': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError("<pip._vendor.urllib3.connection.HTTPSConnection object at 0x3cb918cbfc20>: Failed to establish a new connection: [Errno 49] Can't assign requested address")': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError("<pip._vendor.urllib3.connection.HTTPSConnection object at 0x3cb9193714f0>: Failed to establish a new connection: [Errno 49] Can't assign requested address")': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError("<pip._vendor.urllib3.connection.HTTPSConnection object at 0x3cb919371700>: Failed to establish a new connection: [Errno 49] Can't assign requested address")': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError("<pip._vendor.urllib3.connection.HTTPSConnection object at 0x3cb9193718e0>: Failed to establish a new connection: [Errno 49] Can't assign requested address")': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools>=44.1.1 (from versions: none) ERROR: No matching distribution found for setuptools>=44.1.1 *** Ouch! *** Could not provide build dependency 'setuptools>=44.1.1': • Python package 'setuptools' was not found nor installed. • No suitable version found in, or failed to install from '/wrkdirs/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/wheels'. • A suitable version could not be obtained from PyPI.
I assume https://cgit.freebsd.org/ports/commit/?id=19d5033f041ae46b7e28aff8e73dd9bd788eca5e is the cause
The latest version seems to fail with python >= 3.12. Python 3.14 throws a different error. Can we modify the port to use USES=python:build for qemu@guestagent USES=python for the other flavors?
Created attachment 270366 [details] USES=python:build for guestagent and USES=python for the other flavors As a workaround I build qemu@guestagent with poudriere and use the attached patch.
(In reply to Herbert J. Skuhra from comment #3) The suggested patch was rejected by the maintainer: "No. python:build simply does not load all required variables and also the test fails by removing from the USES." I can't even build qemu@guestagent with default Python version (3.11) outside of poudriere. :-(
Can we replace 3.12 with 3.1X in the summary?
Can we have some maintainer feedback please? :-) 1. Created a new BE (main and stable15) and booted it. 2. Removed /etc/make.conf (e.g. DEFAULT_VERSIONS+= is gone) 3. Ran 'pkg delete -af' 4. Made sure that /usr/ports was clean and contained no work/work-$flavor subdirs. 5. Installed/Built ports-mgmt/pkg 6. Built and Installed default python with "DISABLE_VULNERABILITIES=yes 7. Made sure that /usr/ports was clean and contained no work/work-$flavor subdirs. 8. Tried to install emulators/qemu with "make FLAVOR=guestagent" => it failed. (tested on main and stable/15). And why is my patch problematic? Even with "USES+= python:build,test" instead of "USES+= python:build" for FLAVOR guestagent? ERROR: Exception: Traceback (most recent call last): File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper status = run_func(*args) ^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper return func(self, options, args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 377, in run requirement_set = resolver.resolve( ^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve collected = self.factory.collect_root_requirements(root_reqs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 534, in collect_root_requirements reqs = list( ^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 490, in _make_requirements_from_install_req cand = self._make_base_candidate_from_link( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 207, in _make_base_candidate_from_link self._editable_candidate_cache[link] = EditableCandidate( ^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 315, in __init__ super().__init__( File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ self.dist = self._prepare() ^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare dist = self._prepare_distribution() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 325, in _prepare_distribution return self._factory.preparer.prepare_editable_requirement(self._ireq) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 696, in prepare_editable_requirement dist = _get_prepared_distribution( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution abstract_dist.prepare_distribution_metadata( File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata self.req.prepare_metadata() File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 571, in prepare_metadata and self.supports_pyproject_editable() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_internal/req/req_install.py", line 257, in supports_pyproject_editable return "build_editable" in self.pep517_backend._supported_features() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 153, in _supported_features return self._call_hook('_supported_features', {}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook raise BackendUnavailable(data.get('traceback', '')) pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last): File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1204, in _gcd_import File "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1204, in _gcd_import File "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/setuptools/__init__.py", line 22, in <module> import _distutils_hack.override # noqa: F401 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/_distutils_hack/override.py", line 1, in <module> __import__('_distutils_hack').do_override() File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/_distutils_hack/__init__.py", line 89, in do_override ensure_local_distutils() File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/_distutils_hack/__init__.py", line 75, in ensure_local_distutils core = importlib.import_module('distutils.core') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 16, in <module> from .cmd import Command File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 17, in <module> from . import _modified, archive_util, dir_util, file_util, util File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/lib/python3.11/site-packages/setuptools/_distutils/_modified.py", line 10, in <module> from jaraco.functools import splat File "/usr/local/lib/python3.11/site-packages/setuptools/_vendor/jaraco/functools.py", line 8, in <module> import setuptools.extern.more_itertools ModuleNotFoundError: No module named 'setuptools.extern' mkvenv did not complete successfully: Traceback (most recent call last): File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/scripts/mkvenv.py", line 965, in main ensure_group( File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/scripts/mkvenv.py", line 859, in ensure_group result = _do_ensure(to_install, online, wheels_dir) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/scripts/mkvenv.py", line 801, in _do_ensure pip_install( File "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/scripts/mkvenv.py", line 689, in pip_install subprocess.run( File "/usr/local/lib/python3.11/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/build/pyvenv/bin/python3.11', '-m', 'pip', 'install', '--disable-pip-version-check', '-q', '--find-links', '/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python/wheels', '--no-build-isolation', '-e', '/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/python']' returned non-zero exit status 2. ===> Script "configure" failed unexpectedly. Please report the problem to bofh@FreeBSD.org [maintainer] and attach the "/usr/ports/emulators/qemu/work-guestagent/qemu-11.0.0/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 Stop. make[1]: stopped making "/usr/ports/emulators/qemu/work-guestagent/.stage_done.qemu._usr_local" in /usr/ports/emulators/qemu *** Error code 1 Stop. make: stopped making "all" in /usr/ports/emulators/qemu
This seems to be fixed by commit 2876eef9bde8a8d82b128f70feca931f815811ae. But still: Why can't we use "USES=python:build" or "USES=python:build,test" instead of USES=python?