You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
osqp_vendor 0.2.0 (in rosdistro rolling) still vendors OSQP v0.6.x, whose cmake_minimum_required(3.2) trips that removal.
moveit2#3760 works around it in CI by setting CMAKE_POLICY_VERSION_MINIMUM=3.5 as a container env var (propagates into the ExternalProject_Add sub-build; the -D form doesn't).
The ROS buildfarm doesn't inherit our DOCKER_RUN_OPTS, so that workaround is CI-only. A bloom release of moveit_core on resolute would fail at the same CMake-policy check the CI env-var papers over.
The unblocking upstream change ([tier4/osqp_vendor#25](https://github.com/tier4/osqp_vendor/pull/25), sea-bass fork) bumps the vendored OSQP to v1.0 — that version's CMake is naturally CMake-4-clean, no env-var hack needed. But OSQP v1.0 also redesigned the C API, and moveit_core::online_signal_smoothing::AccelerationFilter uses that API directly. So bumping the vendor version alone breaks moveit_core's compilation (verified — pushed the swap onto #3760 and CI immediately failed on OSQPWorkspace* and c_int symbols).
That leaves one route to a buildfarm-releasable rolling-resolute moveit_core: migrate the OSQP call sites to the v1.0 API in lockstep with the osqp_vendor version bump.
How
Proposed plan:
Track the upstream tier4/osqp_vendor#25 PR. Do not start the moveit_core migration until it's merged and released in rosdistro, or work against a local pin.
Port AccelerationFilter to the OSQP v1.0 C API. If keeping compatibility with humble/jazzy/kilted (which still ship osqp_vendor 0.2.0) matters, gate the two implementations behind a version macro on either osqp_vendor or an OSQP-provided version header — same shape as the AMENT_INDEX_CPP_VERSION_GTE guard used in resolute: complete ament_index_cpp::get_package_share_path migration #3705.
Validate against MoveIt's existing online-signal-smoothing regression tests (behavioural equivalence, not just build-clean).
Once merged: drop the osqp_vendor entry from moveit2_rolling.repos and the CMAKE_POLICY_VERSION_MINIMUM=3.5 line from the rolling-resolute CI matrix — the CI-only workaround becomes redundant.
The follow-up PR's commit message will carry the concrete API-diff (function renames, type renames, setup/solve signature changes) — leaving this issue focused on the release path.
Why
A proper rolling-resolute buildfarm release of
moveit_coreis currently blocked. The chain:osqp_vendor 0.2.0(in rosdistro rolling) still vendors OSQP v0.6.x, whosecmake_minimum_required(3.2)trips that removal.CMAKE_POLICY_VERSION_MINIMUM=3.5as a container env var (propagates into theExternalProject_Addsub-build; the-Dform doesn't).DOCKER_RUN_OPTS, so that workaround is CI-only. A bloom release ofmoveit_coreon resolute would fail at the same CMake-policy check the CI env-var papers over.The unblocking upstream change (
[tier4/osqp_vendor#25](https://github.com/tier4/osqp_vendor/pull/25), sea-bass fork) bumps the vendored OSQP to v1.0 — that version's CMake is naturally CMake-4-clean, no env-var hack needed. But OSQP v1.0 also redesigned the C API, andmoveit_core::online_signal_smoothing::AccelerationFilteruses that API directly. So bumping the vendor version alone breaks moveit_core's compilation (verified — pushed the swap onto #3760 and CI immediately failed onOSQPWorkspace*andc_intsymbols).That leaves one route to a buildfarm-releasable rolling-resolute
moveit_core: migrate the OSQP call sites to the v1.0 API in lockstep with the osqp_vendor version bump.How
Proposed plan:
tier4/osqp_vendor#25PR. Do not start the moveit_core migration until it's merged and released in rosdistro, or work against a local pin.AccelerationFilterto the OSQP v1.0 C API. If keeping compatibility with humble/jazzy/kilted (which still ship osqp_vendor 0.2.0) matters, gate the two implementations behind a version macro on either osqp_vendor or an OSQP-provided version header — same shape as theAMENT_INDEX_CPP_VERSION_GTEguard used in resolute: complete ament_index_cpp::get_package_share_path migration #3705.osqp_vendorentry frommoveit2_rolling.reposand theCMAKE_POLICY_VERSION_MINIMUM=3.5line from the rolling-resolute CI matrix — the CI-only workaround becomes redundant.The follow-up PR's commit message will carry the concrete API-diff (function renames, type renames, setup/solve signature changes) — leaving this issue focused on the release path.