Skip to content

fix(build): keep cloudxr/native in scikit-build wheels - #1423

Draft
gsalazarestr wants to merge 1 commit into
NVIDIA:release/1.7.xfrom
gsalazarestr:fix/skbuild-keep-cloudxr-native
Draft

gsalazarestr wants to merge 1 commit into
NVIDIA:release/1.7.xfrom
gsalazarestr:fix/skbuild-keep-cloudxr-native

Conversation

@gsalazarestr

@gsalazarestr gsalazarestr commented Nov 4, 2026 •

Copy link
Copy Markdown

Description

Proposed one-line fix for a packaging regression from #1295. Opened for the maintainers to evaluate; use it or replace it as you prefer.

The SKBUILD install(DIRECTORY ... isaaccapture) rule in src/core/python/CMakeLists.txt has PATTERN "native" EXCLUDE, added to drop a stale OVXR camera helper. CMake PATTERN matches only the last path component, so it also excludes isaaccapture/cloudxr/native and isaaccapture/cloudxr_exp/native. Every pip/uv (scikit-build-core) source build of isaaccapture 1.7 is then missing libcloudxr.so, and starting CloudXR fails with:

CloudXR SDK missing native/libcloudxr.so under every isaaccapture.cloudxr root

This hits examples/camera_viz/camera_viz.sh setup, which builds from source when no 1.7 wheel is on the index; ./camera_viz.sh run configs/oakd.yaml then exits with "The CloudXR service exited during startup". Classic CMake-built wheels are not affected.

The fix scopes the exclude to the helper's folder:

-        PATTERN "native" EXCLUDE
+        REGEX "/isaaccapture/ovxr_session_manager/native$" EXCLUDE

Related: NVBug 7047311

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Testing

Ubuntu 24.04 x86_64, release/1.7.x @ 49a2181 + this commit, CMake 3.28.

  • Before: camera_viz source-build venv has no isaaccapture/cloudxr/native; the dist-info RECORD lists 0 cloudxr/native files; the viewer cannot start CloudXR.
  • After: uv pip install --reinstall-package isaaccapture ".[cloudxr]" into the camera_viz venv installs isaaccapture/cloudxr/native/ and isaaccapture/cloudxr_exp/native/ (24 RECORD entries), and no ovxr_session_manager/native. python -m isaaccapture.cloudxr.service start from that venv starts the runtime with sdk_path=.../camera_viz/.venv/.../isaaccapture/cloudxr/native.
  • Scratch CMake project with the same layout: the old rule drops cloudxr/native/libcloudxr.so; the new rule installs it and still drops ovxr_session_manager/native.
  • Not run: CI, a build with BUILD_OVXR_CAMERA_QUADS=ON, the full camera_viz headset run with this build.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the linter and formatter with SKIP=check-copyright-year pre-commit run --all-files
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix/feature works (or explained why not)
  • I have signed off all my commits (git commit -s) per the DCO

The SKBUILD install rule excluded every directory named "native" to drop
a stale OVXR camera helper (NVIDIA#1295). PATTERN matches only the last path
component, so it also dropped isaaccapture/cloudxr/native and
isaaccapture/cloudxr_exp/native. pip/uv source builds (including the
camera_viz setup fallback) then had no libcloudxr.so, and starting
CloudXR failed with "CloudXR SDK missing native/libcloudxr.so".

Scope the exclude to isaaccapture/ovxr_session_manager/native with a
REGEX so the CloudXR runtime is installed again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Grecia Salazar Estrada <gsalazarestr@nvidia.com>
@coderabbitai

coderabbitai Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

@hougantc-nvda hougantc-nvda left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Thanks for uncovering this issue. I tested with building ovxr on and off.
It would be good to add a test to ensure we don't break this issue in the future. I'll add a follow up test unless you already have one available.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants