devel/py-google-re2@py312 failed to build while running 'portmaster -af' after upgrading FreeBSD from 14.4-RELEASE to 15.1-RELEASE. Later I found that it fails to build on another host which was already upgraded to FreeBSD 15 for quite some time with exactly the same error. Full logs: jekyll@FreeBSD[~]> sudo portmaster py312-google-re2 ===>>> Currently installed version: py312-google-re2-1.1.20251105 ===>>> Port directory: /usr/ports/devel/py-google-re2@py312 ===>>> Launching 'make checksum' for devel/py-google-re2@py312 in background ===>>> Gathering dependency list for devel/py-google-re2@py312 from ports ===>>> Initial dependency check complete for devel/py-google-re2@py312 ===>>> Starting build for devel/py-google-re2@py312 <<<=== ===>>> All dependencies are up to date ===> Cleaning for py312-google-re2-1.1.20251105 ===> License BSD3CLAUSE accepted by the user ===> py312-google-re2-1.1.20251105 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by py312-google-re2-1.1.20251105 for building ===> Extracting for py312-google-re2-1.1.20251105 => SHA256 Checksum OK for google_re2-1.1.20251105.tar.gz. ===> Patching for py312-google-re2-1.1.20251105 ===> Applying FreeBSD patches for py312-google-re2-1.1.20251105 from /usr/ports/devel/py-google-re2/files ===> py312-google-re2-1.1.20251105 depends on package: py312-pybind11>=0 - found ===> py312-google-re2-1.1.20251105 depends on package: py312-setuptools>=0 - found ===> py312-google-re2-1.1.20251105 depends on package: py312-wheel>=0 - found ===> py312-google-re2-1.1.20251105 depends on file: /usr/local/bin/python3.12 - found ===> py312-google-re2-1.1.20251105 depends on package: py312-build>=0 - found ===> py312-google-re2-1.1.20251105 depends on package: py312-installer>=0 - found ===> py312-google-re2-1.1.20251105 depends on shared library: libre2.so - found (/usr/local/lib/libre2.so) ===> Configuring for py312-google-re2-1.1.20251105 ===> Building for py312-google-re2-1.1.20251105 * Getting build dependencies for wheel... /usr/local/lib/python3.12/site-packages/wheel/bdist_wheel.py:4: FutureWarning: The 'wheel' package is no longer the canonical location of the 'bdist_wheel' command, and will be removed in a future release. Please update to setuptools v70.1 or later which contains an integrated version of this command. warn( Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module> main() File "/usr/local/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main json_out["return_val"] = hook(**hook_input["kwargs"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel return self._get_build_requires( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires self.run_setup() File "/usr/local/lib/python3.12/site-packages/setuptools/build_meta.py", line 282, in run_setup self).run_setup(setup_script=setup_script) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/build_meta.py", line 174, in run_setup exec(compile(code, __file__, 'exec'), locals()) File "setup.py", line 130, in <module> setuptools.setup( File "/usr/local/lib/python3.12/site-packages/setuptools/__init__.py", line 87, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 139, in setup _setup_distribution = dist = klass(attrs) ^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/dist.py", line 476, in __init__ _Distribution.__init__( File "/usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 275, in __init__ self.finalize_options() File "/usr/local/lib/python3.12/site-packages/setuptools/dist.py", line 899, in finalize_options for ep in sorted(loaded, key=by_order): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/setuptools/dist.py", line 898, in <lambda> loaded = map(lambda e: e.load(), filtered) ^^^^^^^^ File "/usr/local/lib/python3.12/importlib/metadata/__init__.py", line 205, in load module = import_module(match.group('module')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in _gcd_import File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/usr/local/lib/python3.12/site-packages/scikit_build_core/setuptools/build_cmake.py", line 43, in <module> from ..build._file_processor import each_unignored_file File "/usr/local/lib/python3.12/site-packages/scikit_build_core/build/_file_processor.py", line 17, in <module> import pathspec File "/usr/local/lib/python3.12/site-packages/pathspec/__init__.py", line 30, in <module> from .gitignore import ( File "/usr/local/lib/python3.12/site-packages/pathspec/gitignore.py", line 25, in <module> from pathspec._backends.agg import ( File "/usr/local/lib/python3.12/site-packages/pathspec/_backends/agg.py", line 27, in <module> from .re2.base import ( File "/usr/local/lib/python3.12/site-packages/pathspec/_backends/re2/base.py", line 12, in <module> from ._base import ( File "/usr/local/lib/python3.12/site-packages/pathspec/_backends/re2/_base.py", line 17, in <module> import re2 File "/usr/ports/devel/py-google-re2/work-py312/google_re2-1.1.20251105/re2/__init__.py", line 33, in <module> from . import _re2 ImportError: cannot import name '_re2' from partially initialized module 're2' (most likely due to a circular import) (/usr/ports/devel/py-google-re2/work-py312/google_re2-1.1.20251105/re2/__init__.py) TIP pass --env-dir and --sdist-extract-dir to keep the build environment and sources, then see https://build.pypa.io/en/stable/how-to/troubleshooting.html#debug-a-failed-build for help debugging a failed build ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel *** Error code 1 Stop. make: stopped making "build" in /usr/ports/devel/py-google-re2 ===>>> make build failed for devel/py-google-re2@py312 ===>>> Aborting update ===>>> You can restart from the point of failure with this command line: portmaster <flags> devel/py-google-re2@py312 This command has been saved to ~/portmasterfail.txt