Fix nlopt version issue#6717
Conversation
Greptile SummaryThis PR removes the ARM-specific
Confidence Score: 5/5Safe to merge. The change is a pure deletion of a broken workaround, and the root assumption — that The removed code was actively broken (CMake 4.x incompatibility on ARM), and the replacement is simply letting Files Needing Attention: No files require special attention. The Dockerfile and install.py changes are consistent with each other, and the test patch list correctly reflects the removed function. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Docker ARM build\nfor e.g. DGX Spark] --> B{platform_machine?}
B -- aarch64/arm64 --> C[isaaclab.sh --install]
B -- x86_64 --> C
C --> D[Install core deps]
C --> E{teleop extra requested?}
E -- No --> F[Skip isaacteleop + dex-retargeting]
E -- Yes --> G{platform marker check\nplatform_machine in x86_64 AMD64?}
G -- ARM: No --> H[Skip isaacteleop\nSkip dex-retargeting\nSkip nlopt]
G -- x86: Yes --> I[Install isaacteleop\nInstall dex-retargeting\nInstall nlopt]
F --> J[Build succeeds]
H --> J
I --> J
style H fill:#90EE90
style J fill:#90EE90
Reviews (1): Last reviewed commit: "Fix nlopt version issue" | Re-trigger Greptile |
# Description Backports #6717 to `release/3.0.0-beta2`. This fixes ARM Linux dependency installation with CMake 4.x. The backport: - removes the unnecessary ARM-only `nlopt==2.6.2` and temporary `swig` pre-install from the Docker images and installer; - temporarily sets `CMAKE_POLICY_VERSION_MINIMUM=3.5` while ARM dependencies are installed, then restores the user's previous environment value; and - adds regression coverage for the ARM compatibility context and install dispatch. The `nlopt` pre-install is unnecessary because that dependency is only selected by Linux x86_64 requirements. Other legacy ARM source builds, including `egl-probe==1.0.2`, still need the temporary CMake policy compatibility setting. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Screenshots Not applicable. ## Validation - `.\isaaclab.bat -f` - `.\isaaclab.bat -p tools/changelog/cli.py check backport-base-6717` - `.\isaaclab.bat -p -m pytest source/isaaclab/test/cli/test_install_commands.py::TestArmCmakePolicyCompatibility source/isaaclab/test/cli/test_install_command_parsing.py::TestCommandInstallDispatch::test_wraps_dependency_installs_with_arm_cmake_compatibility` (4 passed) - Full CLI-file sweep: 88 passed; 22 pre-existing symlink tests could not run because this Windows host lacks symbolic-link privilege (`WinError 1314`). ## Checklist - [x] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation (not applicable; no public documentation change) - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have added a changelog fragment under `source/<pkg>/changelog.d/` for every touched package - [ ] I have added my name to `CONTRIBUTORS.md` or my name already exists there (not changed in this backport) --------- Co-authored-by: Mustafa Haiderbhai <mhaiderbhai@nvidia.com>
Description
Fix nlopt error due to version mismatch with cmake in the docker build for ARM.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there