Skip to content

Docker: Cannot locate rosdep definition for [mujoco ros2 control] #8

@ivrolan

Description

@ivrolan

Hi,

When trying to build the Docker, it seems the packaged from mujoco_ros2_control cannot be found.

Cannot locate rosdep definition for [mujoco ros2 control]

I tried to add the following lines to install the recommended fork at line 125:

# Clone mujoco_ros2_control to src directory
# https://github.com/tenfoldpaper/mujoco_ros_pkgs.git
RUN cd /home/user/humble_ws/src && git clone https://github.com/tenfoldpaper/mujoco_ros_pkgs.git
# Checkout the specific branch for ROS 2 Humble
RUN cd /home/user/humble_ws/src/mujoco_ros_pkgs && git checkout wip_ros_control_humble

With this change, when building I get errors from mujoco_ros

Docker output
sudo docker build -t "bimanual:franka" ./
[+] Building 135.2s (30/30) FINISHED                                                                                                 docker:default
 => [internal] load build definition from Dockerfile                                                                                           0.0s
 => => transferring dockerfile: 5.03kB                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/ros:humble                                                                                  1.5s
 => [internal] load .dockerignore                                                                                                              0.0s
 => => transferring context: 2B                                                                                                                0.0s
 => [ 1/26] FROM docker.io/library/ros:humble@sha256:d66b8a36f8c6cad03526188c8dcd2cb17096aff73a1af628990ab118794479ba                          0.0s
 => [internal] load build context                                                                                                              0.0s
 => => transferring context: 54.26kB                                                                                                           0.0s
 => CACHED [ 2/26] RUN groupadd --gid 1001 user     && useradd --uid 1001 --gid 1001 -m user     && apt-get update     && apt-get install -y   0.0s
 => CACHED [ 3/26] RUN apt-get update -y && apt-get install -y --allow-unauthenticated     curl                                                0.0s
 => CACHED [ 4/26] RUN mkdir /home/user/Libraries                                                                                              0.0s
 => CACHED [ 5/26] RUN mkdir ~/source_code                                                                                                     0.0s
 => CACHED [ 6/26] RUN cd ~/source_code     && curl https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz --output eigen.tar.g  0.0s
 => CACHED [ 7/26] RUN cd ~/source_code/eigen-3.3.9     && mkdir build     && cd build     && cmake ..     && make     && make install     &&  0.0s
 => CACHED [ 8/26] RUN apt-get update -y && apt-get install -y --allow-unauthenticated     software-properties-common     clang-14     clang-  0.0s
 => CACHED [ 9/26] RUN python3 -m pip install -U     argcomplete     flake8-blind-except     flake8-builtins     flake8-class-newline     fla  0.0s
 => CACHED [10/26] RUN cd ~/source_code && git clone https://github.com/frankaemika/libfranka.git     && mkdir /home/user/Libraries/libfranka  0.0s
 => CACHED [11/26] RUN apt-get update -y && apt-get install -y     libglfw3     libglfw3-dev     libgl1-mesa-dev     libxinerama-dev     libx  0.0s
 => CACHED [12/26] RUN add-apt-repository ppa:dqrobotics-dev/release && apt-get update && apt-get install libdqrobotics                        0.0s
 => CACHED [13/26] RUN cd ~/source_code && git clone https://github.com/google-deepmind/mujoco.git     && mkdir ~/source_code/mujoco/build     0.0s
 => CACHED [14/26] RUN mkdir -p ~/humble_ws/src/bimanual_architecture && cd ~/humble_ws                                                        0.0s
 => [15/26] COPY . /home/user/humble_ws/src/bimanual_architecture/                                                                             0.6s
 => [16/26] RUN cd /home/user/humble_ws/src && git clone https://github.com/tenfoldpaper/mujoco_ros_pkgs.git                                   1.7s
 => [17/26] RUN cd /home/user/humble_ws/src/mujoco_ros_pkgs && git checkout wip_ros_control_humble                                             1.2s 
 => [18/26] RUN echo 'source /opt/ros/humble/setup.bash' >> /home/user/.bashrc                                                                 1.3s 
 => [19/26] RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Libraries/libfranka/lib:/home/user/Libraries/mujoco/lib' >> /home/us  1.3s 
 => [20/26] RUN echo 'export CMAKE_PREFIX_PATH=~/Libraries/libfranka/lib/cmake:~/Libraries/mujoco/lib/cmake' >> /home/user/.bashrc             1.4s
 => [21/26] RUN chown -R user:user /home/user/                                                                                                 2.8s
 => [22/26] WORKDIR ~/                                                                                                                         0.1s
 => [23/26] RUN source ~/.bashrc     && . /opt/ros/humble/setup.sh     && cd ~/humble_ws && rosdep update     && cd ~/humble_ws && rosdep in  27.4s
 => [24/26] RUN mkdir /tmp/${UID}                                                                                                              1.2s 
 => [25/26] RUN chown -R user:user /tmp/${UID}                                                                                                 1.6s 
 => ERROR [26/26] RUN cd ~/humble_ws     && source ~/.bashrc     && . /opt/ros/humble/setup.sh     && colcon build --cmake-args -DCMAKE_BUIL  92.8s 
------                                                                                                                                              
 > [26/26] RUN cd ~/humble_ws     && source ~/.bashrc     && . /opt/ros/humble/setup.sh     && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release:
1.539 WARNING: Metapackage "mujoco_ros_pkgs" should not have other dependencies besides a buildtool_depend on catkin and exec_depends.              
1.583 Starting >>> mujoco_ros_msgs                                                                                                                  
1.585 [0.315s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '~/Libraries/libfranka/lib/cmake' in the environment variable CMAKE_PREFIX_PATH doesn't exist                                                                                                                                      
1.585 [0.315s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '~/Libraries/mujoco/lib/cmake' in the environment variable CMAKE_PREFIX_PATH doesn't exist
1.588 Starting >>> franka_msgs
1.591 Starting >>> franka_description
1.593 Starting >>> garmi_controllers
1.596 Starting >>> panda_motion_generator_msgs
1.599 Starting >>> franka_simple_publishers
1.603 Starting >>> garmi_moveit_config
2.535 Finished <<< franka_simple_publishers [0.94s]
2.631 Finished <<< garmi_moveit_config [1.03s]
2.804 Finished <<< franka_description [1.21s]
2.805 Starting >>> garmi_description
3.649 Finished <<< garmi_description [0.84s]
21.84 --- stderr: garmi_controllers
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp: In member function ‘virtual controller_interface::return_type garmi_controllers::MobileBaseController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp:28:84: warning: unused parameter ‘time’ [-Wunused-parameter]
21.84    28 | controller_interface::return_type MobileBaseController::update(const rclcpp::Time& time,
21.84       |                                                                ~~~~~~~~~~~~~~~~~~~~^~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp:29:88: warning: unused parameter ‘period’ [-Wunused-parameter]
21.84    29 |                                                                const rclcpp::Duration& period){
21.84       |                                                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::MobileBaseController::on_configure(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp:52:82: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    52 | CallbackReturn MobileBaseController::on_configure(const rclcpp_lifecycle::State& previous_state){
21.84       |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::MobileBaseController::on_activate(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp:60:81: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    60 | CallbackReturn MobileBaseController::on_activate(const rclcpp_lifecycle::State& previous_state){
21.84       |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::MobileBaseController::on_deactivate(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/mobile_base_controller.cpp:66:83: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    66 | CallbackReturn MobileBaseController::on_deactivate(const rclcpp_lifecycle::State& previous_state){
21.84       |                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp: In member function ‘virtual controller_interface::return_type garmi_controllers::HeadController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp:32:78: warning: unused parameter ‘time’ [-Wunused-parameter]
21.84    32 | controller_interface::return_type HeadController::update(const rclcpp::Time& time,
21.84       |                                                          ~~~~~~~~~~~~~~~~~~~~^~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::HeadController::on_configure(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp:78:76: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    78 | CallbackReturn HeadController::on_configure(const rclcpp_lifecycle::State& previous_state){
21.84       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::HeadController::on_activate(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp:86:75: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    86 | CallbackReturn HeadController::on_activate(const rclcpp_lifecycle::State& previous_state){
21.84       |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp: In member function ‘virtual CallbackReturn garmi_controllers::HeadController::on_deactivate(const rclcpp_lifecycle::State&)’:
21.84 /home/user/humble_ws/src/bimanual_architecture/garmi_packages/garmi_controllers/src/head_controller.cpp:93:77: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
21.84    93 | CallbackReturn HeadController::on_deactivate(const rclcpp_lifecycle::State& previous_state){
21.84       |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
21.84 ---
21.84 Finished <<< garmi_controllers [20.2s]
27.52 Finished <<< panda_motion_generator_msgs [25.9s]
42.46 Finished <<< franka_msgs [40.9s]
42.46 Starting >>> multi_mode_control_msgs
42.46 Starting >>> franka_gripper
42.46 Starting >>> franka_control2
49.34 --- stderr: franka_control2
49.34 In file included from /home/user/humble_ws/src/bimanual_architecture/franka_control2/src/franka_control2_node.cpp:24:
49.34 /opt/ros/humble/include/realtime_tools/realtime_tools/thread_priority.hpp:39:2: warning: #warning "This header include is deprecated. Please update your code to use 'realtime_helpers.hpp' header and link against 'realtime_tools' library." [-Wcpp]
49.34    39 | #warning \
49.34       |  ^~~~~~~
49.34 ---
49.34 Finished <<< franka_control2 [6.88s]
60.78 Finished <<< franka_gripper [18.3s]
70.35 Finished <<< mujoco_ros_msgs [1min 9s]
70.35 Starting >>> mujoco_ros
81.45 Finished <<< multi_mode_control_msgs [39.0s]
86.62 --- stderr: mujoco_ros
86.62 CMake Warning at cmake/CompilerCache.cmake:33 (message):
86.62   ccache is enabled but was not found.  Not using it
86.62 Call Stack (most recent call first):
86.62   cmake/CompilerCache.cmake:44 (_configure_ccache)
86.62   cmake/CompilerCache.cmake:44 (cmake_language)
86.62   cmake/ProjectOption.cmake:61 (configure_compiler_cache)
86.62   CMakeLists.txt:70 (configure_project_option)
86.62 
86.62 
86.62 CMake Warning at /opt/ros/humble/share/ament_cmake_export_include_directories/cmake/ament_export_include_directories.cmake:44 (message):
86.62   ament_export_include_directories() package 'mujoco_ros' exports the include
86.62   directory '/home/user/humble_ws/build/mujoco_ros/include' which doesn't
86.62   exist
86.62 Call Stack (most recent call first):
86.62   CMakeLists.txt:267 (ament_export_include_directories)
86.62 
86.62 
86.62 In file included from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/mujoco_env.hpp:87,
86.62                  from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/src/mujoco_env.cpp:47:
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/viewer.hpp:183:9: error: ‘mjvSceneState’ does not name a type; did you mean ‘mjvScene_’?
86.62   183 |         mjvSceneState scnstate_;
86.62       |         ^~~~~~~~~~~~~
86.62       |         mjvScene_
86.62 In file included from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/mujoco_env.hpp:87,
86.62                  from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/src/ros_two/ros_api.cpp:40:
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/viewer.hpp:183:9: error: ‘mjvSceneState’ does not name a type; did you mean ‘mjvScene_’?
86.62   183 |         mjvSceneState scnstate_;
86.62       |         ^~~~~~~~~~~~~
86.62       |         mjvScene_
86.62 In file included from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/src/mujoco_env.cpp:48:
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/offscreen_camera.hpp:133:9: error: ‘mjvSceneState’ does not name a type; did you mean ‘mjvScene_’?
86.62   133 |         mjvSceneState scn_state_;
86.62       |         ^~~~~~~~~~~~~
86.62       |         mjvScene_
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/offscreen_camera.hpp: In destructor ‘mujoco_ros::rendering::OffscreenCamera::~OffscreenCamera()’:
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/offscreen_camera.hpp:98:37: error: ‘scn_state_’ was not declared in this scope
86.62    98 |                 mjv_freeSceneState(&scn_state_);
86.62       |                                     ^~~~~~~~~~
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/offscreen_camera.hpp:98:17: error: ‘mjv_freeSceneState’ was not declared in this scope; did you mean ‘mjv_freeScene’?
86.62    98 |                 mjv_freeSceneState(&scn_state_);
86.62       |                 ^~~~~~~~~~~~~~~~~~
86.62       |                 mjv_freeScene
86.62 In file included from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/mujoco_env.hpp:87,
86.62                  from /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/src/main.cpp:44:
86.62 /home/user/humble_ws/src/mujoco_ros_pkgs/mujoco_ros/include/mujoco_ros/viewer.hpp:183:9: error: ‘mjvSceneState’ does not name a type; did you mean ‘mjvScene_’?
86.62   183 |         mjvSceneState scnstate_;
86.62       |         ^~~~~~~~~~~~~
86.62       |         mjvScene_
86.62 gmake[2]: *** [src/CMakeFiles/mujoco_ros.dir/build.make:90: src/CMakeFiles/mujoco_ros.dir/mujoco_env.cpp.o] Error 1
86.62 gmake[2]: *** Waiting for unfinished jobs....
86.62 gmake[2]: *** [src/CMakeFiles/mujoco_ros.dir/build.make:76: src/CMakeFiles/mujoco_ros.dir/main.cpp.o] Error 1
86.62 gmake[2]: *** [src/CMakeFiles/mujoco_ros.dir/build.make:104: src/CMakeFiles/mujoco_ros.dir/ros_two/ros_api.cpp.o] Error 1
86.62 gmake[1]: *** [CMakeFiles/Makefile2:267: src/CMakeFiles/mujoco_ros.dir/all] Error 2
86.62 gmake: *** [Makefile:146: all] Error 2
86.62 ---
86.62 Failed   <<< mujoco_ros [16.3s, exited with code 2]
86.64 
86.64 Summary: 11 packages finished [1min 25s]
86.64   1 package failed: mujoco_ros
86.64   3 packages had stderr output: franka_control2 garmi_controllers mujoco_ros
86.64   15 packages not processed
------
Dockerfile:151
--------------------
 150 |     ENV CMAKE_PREFIX_PATH=~/Libraries/libfranka/lib/cmake:~/Libraries/mujoco/lib/cmake
 151 | >>> RUN cd ~/humble_ws \
 152 | >>>     && source ~/.bashrc \
 153 | >>>     && . /opt/ros/humble/setup.sh \
 154 | >>>     && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
--------------------
ERROR: failed to solve: process "/bin/bash -c cd ~/humble_ws     && source ~/.bashrc     && . /opt/ros/humble/setup.sh     && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release" did not complete successfully: exit code: 2

Is there something that I am missing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions