Skip to content

pycolmap: Add version 4.1.1 - #2330

Open
luhenry wants to merge 2 commits into
mainfrom
pycolmap
Open

luhenry wants to merge 2 commits into
mainfrom
pycolmap

Conversation

@luhenry

@luhenry luhenry commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Compiles COLMAP (plus Ceres, SuiteSparse, METIS, glog, OpenImageIO/OpenColorIO) and its pybind11 bindings. Upstream publishes no riscv64 wheel.

Mirrors upstream's build-pycolmap.yml.

Differs from upstream

  • Dependencies built from vcpkg's baseline versions, not vcpkg - no riscv64 binary cache, Rocky 10 lacks them
  • COLMAP built once in its own job (cached deps), not per before-all
  • Shared dependency libraries, linked --as-needed - upstream links them statically
  • WERROR_ENABLED dropped - GCC 14 is newer than upstream's gcc-toolset-12
  • CUDA/ONNX off, as in upstream's CPU wheel

Matrix: cp312, cp313, cp314 - upstream builds no free-threaded wheel.

Testing

  • same as upstream

License: Wheel bundles SuiteSparse's CHOLMOD/SPQR (GPL-2.0-or-later, as upstream's wheel does), Ceres, OpenImageIO and image libraries (libgfortran, jbigkit, libcurl's closure); the build adds their licence texts and GPL sources.

Patches

  • 0001-build-drop-the-unused-clang-format-build-requirement.patch - Inappropriate. clang-format 22.1.1 has no riscv64 wheel and the build never runs it; reproduces anywhere without that wheel.

Awaiting the first riscv64 run.

Upstream builds its Linux wheels in manylinux_2_28 with vcpkg supplying
Ceres, SuiteSparse, METIS, glog, OpenImageIO (with OpenColorIO) and
GLEW, and builds COLMAP itself in cibuildwheel's before-all. vcpkg has
no riscv64 binary cache and Rocky 10 packages none of those libraries,
so a first job builds them from the versions upstream's vcpkg baseline
pins (cached across runs) and COLMAP with upstream's CMake flags; the
per-interpreter jobs build only the pybind11 bindings against that SDK.

clang-format==22.1.1 is dropped from the build requirements: nothing in
the wheel build runs it and it has no riscv64 wheel.
luhenry added a commit that referenced this pull request Sep 25, 2026
@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-2330/

Built to branch gh-pages at 2026-09-25 18:12 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Rocky 10's libjpeg-turbo-devel ships a CMake config whose
libjpeg-turbo::turbojpeg target points at libturbojpeg.so, which lives
in the separate CRB turbojpeg package; without it any
find_package(libjpeg-turbo), OpenImageIO's included, fails. Install it.

OpenImageIO 3.1.14.0 builds its missing pystring from master and checks
it against a fixed commit, which master has since moved past. 3.1.14.1
changes only that, to the v1.2.0 tag vcpkg itself pins.

This branch has not been deployed

No deployments
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