cibuildwheel icon indicating copy to clipboard operation
cibuildwheel copied to clipboard

GraalPy issues

Open henryiii opened this issue 6 months ago • 4 comments

Description

I'm currently having trouble adding numpy wheels for testing:

[[tool.cibuildwheel.overrides]]
select = ["gp*"]
build-frontend = "build"
inherit.environment = "append"
environment.PIP_EXTRA_INDEX_URL = "https://www.graalvm.org/python/wheels/simple"
test-command = "pytest --benchmark-disable tests"

On macOS ARM and manylinux (I forgot to run Windows), I'm getting:

  <frozen graalpy.pip_hook>:48: RuntimeWarning: You are using an untested version of pip. GraalPy provides patches and workarounds for a number of packages when used with compatible pip versions. We recommend to stick with the pip version that ships with this version of GraalPy.
  WARNING: Disabling truststore because platform isn't supported
  Looking in indexes: https://pypi.org/simple, https://www.graalvm.org/python/wheels/simple
  Processing /tmp/cibuildwheel/repaired_wheel/boost_histogram-1.5.3.dev33+g8306c04-graalpy311-graalpy242_311_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  INFO: pip is looking at multiple versions of boost-histogram to determine which version is compatible with other requirements. This could take a while.
  ERROR: Could not find a version that satisfies the requirement numpy (from boost-histogram) (from versions: none)
  ERROR: No matching distribution found for numpy

CC @timfel

Edit: Ahh, for some reason, I can't add the /simple, even though it works on other indexes. If I leave that off, it downloads (and crashes in my tests, which is better and not cibuildwheel's fault)

Build log

https://github.com/scikit-hep/boost-histogram/actions/runs/15383816895/job/43278776994?pr=1016

CI config

https://github.com/scikit-hep/boost-histogram/pull/1016

henryiii avatar Jun 02 '25 05:06 henryiii

On Windows, I get:

Notice: cibuildwheel: Disabling build isolation to workaround GraalPy bug. If the build fails, consider using pip or build[uv] as build frontend.

Then of course the build fails since it's downloading setuptools and wheel (which I thought we were supposed to have removed in 3.x), and not scikit-build-core. I'll switch to build[uv] then but now build is the default, making this pretty bad.

If the bug is something we could fix in build, I could do that.

henryiii avatar Jun 02 '25 05:06 henryiii

cibuildwheel's macOS CircleCI tests segfaulted on GraalPy: https://app.circleci.com/pipelines/github/pypa/cibuildwheel/6573/workflows/a3fc1f5f-1b2e-4c1e-b1c2-f455302222c2/jobs/18094

henryiii avatar Jun 03 '25 05:06 henryiii

Cirrus builds on Windows are failing atm.

https://cirrus-ci.com/task/5500867840835584?logs=run_cibuildwheel_tests#L775

I'm guessing it's due to a space at the end of the PATH variable-

https://cirrus-ci.com/task/5500867840835584?logs=run_cibuildwheel_tests#L550-L553

joerick avatar Jun 04 '25 16:06 joerick

If the bug is something we could fix in build, I could do that.

The bug was on the GraalPy side, iirc, build uses virtualenv and then from that virtualenv environment something creates a venv environment, and that second-level environment was broken on GraalPy. It's fixed in our master, we are backporting this to the current version to go out with the next patch release.

I'm guessing it's due to a space at the end of the PATH variable-

Indeed ☹ I can fix this on master, but in the meantime the only workaround I can think of is to somehow preprocess the PATH environment variable to not have an invalid path segment in it

cibuildwheel's macOS CircleCI tests segfaulted on GraalPy

Will look into it

timfel avatar Jun 06 '25 12:06 timfel