Skip to content

vtk: add build-vtk.yml for riscv64 wheels - #1727

Open
luhenry wants to merge 4 commits into
mainfrom
vtk
Open

vtk: add build-vtk.yml for riscv64 wheels#1727
luhenry wants to merge 4 commits into
mainfrom
vtk

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles the full VTK C++ toolkit (rendering, filters, IO formats, Viskores-accelerated algorithms) and its Python wrapping via CMake. Upstream publishes no riscv64 wheel.

Mirrors upstream's .gitlab/ci/configure_wheel.cmake + .cmake_build_wheel_linux.

Differs from upstream

  • Disables VTK_JPEG_ENABLE_SIMD - libjpeg-turbo has no riscv64 SIMD kernel, upstream's default ON hard-fails configure.
  • Skips configure_common.cmake's stock-CI knobs (VTK_BUILD_TESTING, VTK_LINKER_FATAL_WARNINGS) - internal dev-process gates, not wheel content.
  • Drives the manylinux_riscv64 image directly instead of GitLab CI/ctest - same CMake flags and setup.py bdist_wheel + auditwheel repair recipe.

Testing

  • same as upstream

License: OK

Mirrors VTK's own .gitlab/ci/configure_wheel.cmake CMake flags and the
setup.py bdist_wheel + auditwheel repair recipe from
.cmake_build_wheel_linux, driving the manylinux_riscv64 image directly
since VTK's wheel build is plain CMake, not cibuildwheel/scikit-build.
luhenry added a commit that referenced this pull request Sep 10, 2026
CMake configure hard-fails under VTK_BUILD_ALL_MODULES=ON when the
optional anari/ospray external packages aren't present, mirroring
.gitlab/ci/configure_options.cmake's own NO default for these modules
outside its helide/ospray CI configurations.
cmake --build --target install alone left libvtkWrappingTools.so
uncompiled: ninja's install edge doesn't transitively pull in every
module's compile edge, so install ran against a partially-built tree.
Matches ctest_build.cmake's own two-step build-then-install sequence.
The previous run wasn't hung: cp312 was still making steady ninja
progress (5095/12192 steps) when cancelled at 7.5h, just slow given
these runners' 4 cores and VTK's size. cp314t separately hit a Fatal
glibc pthread_mutex assertion (job log expired, only a check-run
annotation survived); add the same 10GB swap build-deltalake.yml and
build-polars-runtime.yml use on this runner class as a defensive
measure against memory pressure while re-testing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant