Repository navigation
Conversation
deepdiff 9.1.0, pulled in through trx-python, requires cachebox<6, which has no riscv64 wheel; pip falls back to its sdist, which needs a Rust toolchain and fails, so installing the wheel for testing fails. The registry only carries cachebox 6.x. With cachebox binary-only, pip backtracks to deepdiff 9.0.0, which does not depend on cachebox.
All three legs of PR #3112 segfaulted inside libgomp while running `pytest --pyargs dipy`: cp312 and cp314 faulted building a StatefulTractogram in dipy/conftest.py's doctest runner, with the C stack going through dipy.libs/libgomp -> tractogen's compiled extension -> libgomp again; cp313 faulted inside the nlmeans compiled extension from denoise/tests/test_denoise.py::test_denoise. All three are a bare "Fatal Python error: Segmentation fault" with no Python frame at fault and the OpenMP runtime on the C stack -- CLAUDE.md gotcha 166's signature for the riscv64 runners' libgomp: a fault inside the OpenMP runtime, specific to the dynamic/guided work-share schedules, not confined to one function. `grep -rn "schedule(dynamic\|schedule(guided" --include=*.pyx` over dipy's tree finds seven loops across four files: tracking/tractogen.pyx (the one that crashed cp312/cp314), denoise/denspeed.pyx's _nlmeans_3d and nlmeans_3d_blockwise (the one that crashed cp313, plus two more dynamic loops in the same file), denoise/shift_twist_convolution.pyx, and tracking/fbcmeasures.pyx. Patch all seven to schedule(static), per gotcha 166, and apply the patch as part of the build.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dipy1.12.1Compiles dipy's Cython/C++ extensions (meson-python, OpenMP via libgomp) against numpy. Upstream publishes no riscv64 wheel.
Mirrors upstream's
nightly.ymlbuild_linux_wheelsjob.Differs from upstream
CIBW_CONFIG_SETTINGS: compile-args=-v- nightly/verbosity only.Matrix: cp312/cp313/cp314 - upstream's
cp3{11,12,13,14}-*ships no free-threaded wheel.Testing
pytest --pyargs dipy(upstream skips it in the wheel job and only smoke-importsAffineMap; both run here).License: OK
Pending CI.