Robotic-Decision-Making-Lab / blue

ROS 2 platform for underwater robotics research and development.
https://robotic-decision-making-lab.github.io/blue/
MIT License
40 stars 9 forks source link

[BUG]: Docker does not contain all dependencies #167

Closed OgnjenX closed 1 week ago

OgnjenX commented 1 month ago

Issue Description

I followed this tutorial with the newest refactor which includes moving ardupilot stuff to ardusub_driver and controllers to auv_controllers. I tried using docker image, but it seems that there are no ardusub_driver and auv_controllers in container (and I also do not see them added in .docker/Dockerfile

Steps to Reproduce

  1. Follow the tutorial link provided.
  2. Attempt to use the Docker image.
  3. Observe that ardusub_driver and auv_controllers are missing in filesystem and 'colcon build' fails because of that.

Expected Behavior

'colcon build' should run successfully

Error Message

No response

Runtime Environment

nvidia docker image

Additional Context

No response

evan-palmer commented 1 month ago

Thank you for reporting this @OgnjenX! What ROS distro are you using? If it's Humble, I suspect that the issue is that the Docker pipeline failed. I was waiting for https://github.com/ros-controls/control_msgs/pull/133 to fix that, but I can also look into adding it to the .repos file temporarily while that PR is in review.

OgnjenX commented 1 month ago

Yes, I was using Humble. Now I tried running it on Rolling, but I'm getting these logs:

485.6 ERROR: the following packages/stacks could not have their rosdep keys resolved
485.6 to system dependencies:
485.6 blue_manager: No definition of [std_srvs] for OS version [jammy]
485.6 blue_description: No definition of [ament_cmake] for OS version [jammy]
485.6 ros_gz_sim: No definition of [std_msgs] for OS version [jammy]
485.6 blue_joy: No definition of [std_msgs] for OS version [jammy]
485.6 ros_gz: No definition of [ament_cmake] for OS version [jammy]
485.6 test_ros_gz_bridge: No definition of [ament_cmake] for OS version [jammy]
485.6 ros_gz_image: No definition of [sensor_msgs] for OS version [jammy]
485.6 ros_gz_interfaces: No definition of [rosidl_default_generators] for OS version [jammy]
485.6 ros_gz_sim_demos: No definition of [ament_cmake] for OS version [jammy]
485.6 blue_demos: No definition of [ament_cmake] for OS version [jammy]
485.6 ros_gz_bridge: No definition of [vision_msgs] for OS version [jammy]
485.6 blue_control: No definition of [tf2_ros] for OS version [jammy]
485.6 blue_utils: No definition of [eigen3_cmake_module] for OS version [jammy]
485.6 blue_localization: No definition of [tf2_ros] for OS version [jammy]
485.6 blue_dynamics: No definition of [eigen3_cmake_module] for OS version [jammy]
------
Dockerfile-with-features:13
--------------------
  12 |     COPY --chown=$USER_UID:$USER_GID . src/blue
  13 | >>> RUN sudo apt-get -q update \
  14 | >>>     && sudo apt-get -q -y upgrade \
  15 | >>>     && rosdep update \
  16 | >>>     && rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} --skip-keys="gz-transport12 gz-sim7 gz-math7 gz-msgs9 gz-plugin2" \
  17 | >>>     && sudo apt-get autoremove -y \
  18 | >>>     && sudo apt-get clean -y \
  19 | >>>     && sudo rm -rf /var/lib/apt/lists/*
  20 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c sudo apt-get -q update     && sudo apt-get -q -y upgrade     && rosdep update     && rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} --skip-keys=\"gz-transport12 gz-sim7 gz-math7 gz-msgs9 gz-plugin2\"     && sudo apt-get autoremove -y     && sudo apt-get clean -y     && sudo rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 1
[487819 ms] Error: Command failed: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-ocadovski/container-features/0.59.1-1715109981122/Dockerfile-with-features -t vsc-blue-fe1cb5ac4239cf44f300bab2834bdf3c10ed94908ab999af5bc73073f1f2c548 --target dev_containers_target_stage --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label /home/ocadovski/Robotics/Examples/blue_project/blue_ws/src/blue
[487819 ms]     at mtA (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:465:1933)
[487820 ms]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[487820 ms]     at async Pm (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:464:1841)
[487820 ms]     at async NH (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:464:610)
[487820 ms]     at async KtA (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:481:3692)
[487820 ms]     at async $C (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:481:4807)
[487820 ms]     at async hrA (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:661:13255)
[487820 ms]     at async lrA (/home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js:661:12996)
[487836 ms] Exit code 1
[487842 ms] Command failed: /usr/share/code/code /home/ocadovski/.vscode/extensions/ms-vscode-remote.remote-containers-0.362.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/ocadovski/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-b2974c6a-3e43-4ce4-a061-f1e66aad3dc61715109979330 --workspace-folder /home/ocadovski/Robotics/Examples/blue_project/blue_ws/src/blue --workspace-mount-consistency cached --id-label devcontainer.local_folder=/home/ocadovski/Robotics/Examples/blue_project/blue_ws/src/blue --id-label devcontainer.config_file=/home/ocadovski/Robotics/Examples/blue_project/blue_ws/src/blue/.devcontainer/nvidia/devcontainer.json --log-level debug --log-format json --config /home/ocadovski/Robotics/Examples/blue_project/blue_ws/src/blue/.devcontainer/nvidia/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root
evan-palmer commented 1 month ago

@OgnjenX I am currently updating the Rolling and Jazzy branches to support latest changes here (currently blocked by MAVROS). I would checkout Iron in the meantime.

evan-palmer commented 1 week ago

Ok, the binaries for control_msgs that include the required changes have been released. I've updated the Docker container and made some other fixes to the project dependencies that address Humble compatibility. Everything has been tested and should be working now for Humble. I'm going to close this issue and track the Jazzy-related work in #168