Skip to content

Conversation

andyfaff
Copy link
Contributor

@andyfaff andyfaff requested a review from larsoner as a code owner August 18, 2024 06:31
@github-actions github-actions bot added CI Items related to the CI tools such as CircleCI, GitHub Actions or Azure Build issues Issues with building from source, including different choices of architecture, compilers and OS labels Aug 18, 2024
@andyfaff
Copy link
Contributor Author

@rgommers, do you know why the build script for cp313_manylinux_aarch64 can't find mesonpy (but no problems for cp310, etc):

Looking in indexes: https://pypi.org/simple, https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
Processing /project
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
ERROR: Exception:
Traceback (most recent call last):
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
    status = _inner_run()
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
    return self.run(options, args)
           ~~~~~~~~^^^^^^^^^^^^^^^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
    return func(self, options, args)
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/commands/wheel.py", line 147, in run
    requirement_set = resolver.resolve(reqs, check_supported_wheels=True)
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 76, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 539, in collect_root_requirements
    reqs = list(
        self._make_requirements_from_install_req(
    ...<2 lines>...
        )
    )
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 495, in _make_requirements_from_install_req
    cand = self._make_base_candidate_from_link(
        ireq.link,
    ...<2 lines>...
        version=None,
    )
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 232, in _make_base_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ~~~~~~~~~~~~~^
        link,
        ^^^^^
    ...<3 lines>...
        version=version,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 303, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
        link=link,
        ^^^^^^^^^^
    ...<4 lines>...
        version=version,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 158, in __init__
    self.dist = self._prepare()
                ~~~~~~~~~~~~~^^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 235, in _prepare
    dist = self._prepare_distribution()
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 314, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/operations/prepare.py", line 527, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/operations/prepare.py", line 642, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
        req,
    ...<3 lines>...
        self.check_build_deps,
    )
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/operations/prepare.py", line 72, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        finder, build_isolation, check_build_deps
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata
    self.req.prepare_metadata()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/req/req_install.py", line 575, in prepare_metadata
    self.metadata_directory = generate_metadata(
                              ~~~~~~~~~~~~~~~~~^
        build_env=self.build_env,
        ^^^^^^^^^^^^^^^^^^^^^^^^^
        backend=self.pep517_backend,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        details=details,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/operations/build/metadata.py", line 35, in generate_metadata
    distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir)
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_internal/utils/misc.py", line 727, in prepare_metadata_for_build_wheel
    return super().prepare_metadata_for_build_wheel(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        metadata_directory=metadata_directory,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        config_settings=cs,
        ^^^^^^^^^^^^^^^^^^^
        _allow_fallback=_allow_fallback,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 186, in prepare_metadata_for_build_wheel
    return self._call_hook('prepare_metadata_for_build_wheel', {
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        'metadata_directory': abspath(metadata_directory),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        'config_settings': config_settings,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        '_allow_fallback': _allow_fallback,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    })
    ^^
  File "/opt/python/cp313-cp313/lib/python3.13/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 "/opt/python/cp313-cp313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
  File "/opt/python/cp313-cp313/lib/python3.13/importlib/__init__.py", line 88, 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 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mesonpy'
                                                                       ✕ 1.38s
Error: Command ['python', '-m', 'pip', 'wheel', PurePosixPath('/project'), '--wheel-dir=/tmp/cibuildwheel/built_wheel', '--no-deps'] failed with code 2. 

@tylerjereddy tylerjereddy added the backport-candidate This fix should be ported by a maintainer to previous SciPy versions. label Aug 18, 2024
@tylerjereddy
Copy link
Contributor

Looking at the log, something else might be failing first? setuptools is missing and a step before that may be failing?

# cirrus-ci task).
- env:
CIBW_BUILD: cp310-manylinux*
CIBW_BUILD: cp310-manylinux* cp313-manylinux*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that below, where we have pip install numpy>=2.0.0.dev0, we'll need an adjustment for Python 3.13.0rc1. Well, Chuck may be about to release a stable version of 3.13-compatible NumPy 2.1.0 soon, but at the moment I can make more progress on a Linux aarch64 Python 3.13.0rc1 setup when I change that to pip install numpy==2.1.0rc1 (though we likely only want that, or a similar way to get at least that pre-release, for 3.13.0rc1).

@lucascolley
Copy link
Member

lucascolley commented Aug 18, 2024

gh-19565 had the same error message (well, the same final line, no idea if it's a related issue or not)

EDIT: it looks like we do have meson-python here, so shouldn't be the same thing?

@tylerjereddy tylerjereddy mentioned this pull request Aug 19, 2024
5 tasks
@andyfaff
Copy link
Contributor Author

Messing around locally it seems that removing the environment variables for PIP_NO_BUILD_ISOLATION, PIP_PRE, PIP_EXTRA_INDEX_URL seems to fix things. Let's see how this build goes.

@andyfaff
Copy link
Contributor Author

Ok this works. The failing tests are orthogonal.

Copy link
Member

@lucascolley lucascolley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @andyfaff !

@lucascolley lucascolley changed the title BLD: cp313 wheels on manylinux_aarch64 [wheel build] BLD: cp313 wheels on manylinux_aarch64 Aug 19, 2024
@lucascolley lucascolley merged commit a824553 into scipy:main Aug 19, 2024
@lucascolley lucascolley added this to the 1.14.1 milestone Aug 19, 2024
@lucascolley lucascolley linked an issue Aug 19, 2024 that may be closed by this pull request
tylerjereddy pushed a commit to tylerjereddy/scipy that referenced this pull request Aug 19, 2024
@tylerjereddy tylerjereddy removed the backport-candidate This fix should be ported by a maintainer to previous SciPy versions. label Aug 20, 2024
@EwoutH
Copy link
Contributor

EwoutH commented Aug 20, 2024

Since this is relatively small PR, would a backcourt to 1.14.1 still be possible? That would bring some architecture parity in the Python 3.13 wheels offered with the next release.

@lucascolley
Copy link
Member

It has been backported! 0f91838

@tylerjereddy
Copy link
Contributor

must be a vigilant release manager

@EwoutH
Copy link
Contributor

EwoutH commented Aug 21, 2024

Was already done, sorry for the noise.

@tylerjereddy thanks for all your work!

anushkasuyal pushed a commit to anushkasuyal/scipy that referenced this pull request Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build issues Issues with building from source, including different choices of architecture, compilers and OS CI Items related to the CI tools such as CircleCI, GitHub Actions or Azure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BLD, CI: Cirrus 3.13 wheels?
4 participants