Skip to content

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Jul 4, 2025

Major changes:

  • Changed default RMW_IMPLEMENTATION to rmw_cyclonedds_cpp on macOS, to avoid fastdds problems.
  • Update snapshot to July 2025
  • Rebuild with rmw_zenoh_cpp 0.1.2 for compatibility with .deb packages
  • Add grid_map packages on macOS (fix feat: add grid map into aarch64 and macos #247)
  • Consolidate all vinca files in a single vinca.yaml that uses platform selectors
  • Get rid of all manually maintained additional recipes

Fix #326 .
Fix #325 .

@wolfv
Copy link
Member

wolfv commented Jul 4, 2025

@traversaro vinca fails with:

Traceback (most recent call last):
  File "<frozen runpy>", line [19](https://github.com/RoboStack/ros-humble/actions/runs/16070021587/job/45352381592?pr=320#step:12:20)8, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Scripts\vinca.EXE\__main__.py", line 10, in <module>
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\main.py", line 1183, in main
    pkg_build_number = get_pkg_build_number(selected_bn, pkg["name"], vinca_conf)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 87, in get_pkg_build_number
    pkg_additional_info = get_pkg_additional_info(pkg_name, vinca_conf)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 83, in get_pkg_additional_info
    pkg_additional_info = vinca_conf["_pkg_additional_info"].get(normalized_name, {})
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

@traversaro traversaro force-pushed the fullrebuild202507 branch from daf47ee to eb1cc07 Compare July 4, 2025 09:49
@traversaro
Copy link
Member Author

@traversaro vinca fails with:

Traceback (most recent call last):
  File "<frozen runpy>", line [19](https://github.com/RoboStack/ros-humble/actions/runs/16070021587/job/45352381592?pr=320#step:12:20)8, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Scripts\vinca.EXE\__main__.py", line 10, in <module>
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\main.py", line 1183, in main
    pkg_build_number = get_pkg_build_number(selected_bn, pkg["name"], vinca_conf)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 87, in get_pkg_build_number
    pkg_additional_info = get_pkg_additional_info(pkg_name, vinca_conf)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 83, in get_pkg_additional_info
    pkg_additional_info = vinca_conf["_pkg_additional_info"].get(normalized_name, {})
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Yes, this still a work in process, let me mark as draft to make it clear.

@traversaro traversaro marked this pull request as draft July 4, 2025 09:51
@traversaro
Copy link
Member Author

@traversaro vinca fails with:

Traceback (most recent call last):
  File "<frozen runpy>", line [19](https://github.com/RoboStack/ros-humble/actions/runs/16070021587/job/45352381592?pr=320#step:12:20)8, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Scripts\vinca.EXE\__main__.py", line 10, in <module>
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\main.py", line 1183, in main
    pkg_build_number = get_pkg_build_number(selected_bn, pkg["name"], vinca_conf)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 87, in get_pkg_build_number
    pkg_additional_info = get_pkg_additional_info(pkg_name, vinca_conf)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\a\ros-humble\ros-humble\.pixi\envs\beta\Lib\site-packages\vinca\utils.py", line 83, in get_pkg_additional_info
    pkg_additional_info = vinca_conf["_pkg_additional_info"].get(normalized_name, {})
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Fix in RoboStack/vinca#86 (even if for this PR we will soon populate the pkg_additional_info.yaml file, so there will be no problem.

@traversaro traversaro force-pushed the fullrebuild202507 branch from 2043939 to 6ee4289 Compare July 4, 2025 11:51
@traversaro traversaro force-pushed the fullrebuild202507 branch from 6ee4289 to ca2be6b Compare July 4, 2025 11:54
@traversaro
Copy link
Member Author

Ok, the package generation part seems to work fine now, after propagating many cleanups that already happened in ros-jazzy and ros-kilted. Now the check patches is failing, so the fun part of adapting the patches begins. : )

@traversaro
Copy link
Member Author

traversaro commented Jul 4, 2025

Ok, I tested the patches (on Linux for now) and beside the low hanging fruits that I already removed, the patches that remain and need to be adapted are:

  • ros-humble-backward-ros.patch
  • ros-humble-moveit-setup-assistant.patch
  • ros-humble-moveit-setup-core-plugins.patch
  • ros-humble-moveit-setup-framework.patch
  • ros-humble-plotjuggler.patch
  • ros-humble-qt-gui-cpp.patch
  • ros-humble-ublox-dgnss-node.patch

I am not sure if I am going to work on this in the weekend, so if anyone wants to look into this feel free to do so!

To run the check of patches locally, just run:

git clone  -b fullrebuild202507 https://github.com/traversaro/ros-humble/ 
cd ros-humble
pixi run check-patches

@traversaro
Copy link
Member Author

The patches problem does not affect emscripten that builds a subset of the recipe, so the build is going forward, and it fails with:

 │ Installing test environment
 │ ✔ Successfully updated the test environment
 │ Testing commands:
 │ $PREFIX/bin/python3: 2: exec: /home/runner/work/ros-humble/ros-humble/output/bld/rattler-build_ros-humble-ament-lint-cmake_1751699151/build_env/venv/build/bin/python3: not found
 │ error: unable to find fallback python3 executable
 │ × error Script failed with status 1
 │ × error 
 │ × error Script execution failed.
 │ × error 
 │ × error   Work directory: /home/runner/work/ros-humble/ros-humble/output/test/test_ros-humble-ament-lint-cmakedSlLYA/test
 │ × error   Prefix: /home/runner/work/ros-humble/ros-humble/output/test/test_ros-humble-ament-lint-cmakedSlLYA/test_run_env
 │ × error   Build prefix: None
 │ × error 
 │ × error To run the script manually, use the following command:
 │ × error 
 │ × error   cd "/home/runner/work/ros-humble/ros-humble/output/test/test_ros-humble-ament-lint-cmakedSlLYA/test" && ./conda_build.sh
 │ × error 
 │ × error To run commands interactively in the build environment:
 │ × error 
 │ × error   cd "/home/runner/work/ros-humble/ros-humble/output/test/test_ros-humble-ament-lint-cmakedSlLYA/test" && source build_env.sh
 │
 ╰─────────────────── (took 0 seconds)

@Tobias-Fischer
Copy link
Contributor

We need to disable testing for cross compiled builds for emscripten

@traversaro
Copy link
Member Author

We need to disable testing for cross compiled builds for emscripten

Good point!

@Tobias-Fischer
Copy link
Contributor

For wasm-cpp we need to add bzip2 and a few others as run dependencies - how does that work now?

Signed-off-by: wep21 <[email protected]>
@traversaro traversaro marked this pull request as ready for review July 17, 2025 22:16
@traversaro
Copy link
Member Author

Windows PR is finally green! Now the PR is ready for review, just in time for the sync or rmw_zenoh_cpp 0.1.2:

@traversaro
Copy link
Member Author

@Tobias-Fischer @wolfv any comment on this? The corresponding update in apt packages of rmw_zenoh with the breaking change was released, so I would like to merge this to ensure that new installation of humble via robostack and apt are compatible even when using RMW zenoh. I know that the PR is gigantic, but hopefully it contains a lot of cleanup that should make it much more easy to do rebuilds in the future.

@Tobias-Fischer Tobias-Fischer merged commit f81fe13 into RoboStack:main Jul 23, 2025
5 of 6 checks passed
@Tobias-Fischer
Copy link
Contributor

Thanks so much @traversaro - let's see how we go on the main branch :)

@traversaro
Copy link
Member Author

Thanks so much @traversaro - let's see how we go on the main branch :)

Great! I have been monitoring the CI on the main branches, and the Linux and macOS have been failing a few times with the Tokyo runtime panic error or similar, but a restart was sufficient to fix them. The Windows job is instead quite stable, it has been running for ~10 hours without any problem.

@traversaro
Copy link
Member Author

Thanks so much @traversaro - let's see how we go on the main branch :)

Great! I have been monitoring the CI on the main branches, and the Linux and macOS have been failing a few times with the Tokyo runtime panic error or similar, but a restart was sufficient to fix them. The Windows job is instead quite stable, it has been running for ~10 hours without any problem.

After 14.5 hours, the Windows build job is done:

image

@traversaro
Copy link
Member Author

fyi @idesign0 this PR have added all the packages you reported me as missing on macOS!

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.

Update generate_parameter_library version to 0.4.0 or greater Package request: data_tamer_cpp
4 participants