Skip to content

cmeel-octomap: Add version 1.10.0 - #2159

Merged
luhenry merged 1 commit into
mainfrom
port/cmeel-octomap
Sep 21, 2026
Merged

luhenry merged 1 commit into
mainfrom
port/cmeel-octomap

Conversation

@luhenry

@luhenry luhenry commented Sep 21, 2026

Copy link
Copy Markdown
Member

Builds OctoMap 1.10.0 - the octomap/octomath shared libraries, their headers, CMake/pkg-config files and command-line tools - into a cmeel prefix through the cmeel CMake build backend. Upstream publishes no riscv64 wheel.

Mirrors upstream's release.yml.

Differs from upstream

  • Single-arch, glibc-only matrix - macOS/x86_64/aarch64/i686 and musllinux legs dropped.

Matrix: one job - [tool.cmeel] has-sitelib = false, so the single py3-none-manylinux_riscv64 wheel covers every interpreter.

Testing

  • same as upstream, which sets CMEEL_RUN_TESTS=false and only installs the wheel.
  • also builds an octree from a generated scan with the wheel's own log2graph/graph2tree.

License: Wheel ships liboctomap/liboctomath, whose sources are BSD-3-Clause, under upstream's declared BSD-3-Clause expression; no licence text ships, as in upstream's own wheels.

Builds clean from the tag with no patches; a QEMU riscv64 rehearsal produced a wheel whose namelist matches upstream's x86_64 release wheel exactly.

Build the OctoMap 1.10.0 cmeel distribution for riscv64: liboctomap,
liboctomath, their headers, CMake/pkg-config files and command-line tools,
installed into the shared cmeel prefix.

[tool.cmeel] has-sitelib = false, so the wheel holds no Python extension and
one py3-none-manylinux_riscv64 wheel covers every interpreter; the build runs
as a single cibuildwheel job. The tag's .c5 suffix is the cmeel packaging
revision, which the backend stamps as the wheel's build tag.

Mirrors upstream's release.yml, including CMEEL_RUN_TESTS=false: octomap's
test_color_tree asserts a hardcoded node count that changes wherever the
compiler contracts a*b+c into an FMA, which riscv64 does by default.
@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-21 11:31 UTC

luhenry added a commit that referenced this pull request Sep 21, 2026
Gotcha 504: a test failing on riscv64 with a discrete wrong count, not a
last-ULP value, can still be floating point - GCC's default -ffp-contract=fast
fuses a*b+c into an FMA on rv64gc, which moves quantised coordinates into other
buckets. octomap's test_color_tree gets 3431 nodes instead of 1034, and x86
reproduces it exactly under -march=haswell -ffp-contract=fast.

Gotcha 505: a cmeel queue note's build number is not always 0, and one listing
several means the same wheel version was packaged more than once - build the
highest .cN tag rather than an assumed .c0.
luhenry added a commit that referenced this pull request Sep 21, 2026
@luhenry
luhenry marked this pull request as ready for review September 21, 2026 11:26
@luhenry
luhenry merged commit ac74a7d into main Sep 21, 2026
9 checks passed
@luhenry
luhenry deleted the port/cmeel-octomap branch September 21, 2026 11:26
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