Docker on Mac OS: `ros2: ddsi_udp_create_conn: set IP_MULTICAST_IF failed: Unsupported`
victorpaleologue opened this issue · 1 comments
victorpaleologue commented
When trying to run the demo world docker:
$ docker compose up demo-world
[+] Running 1/1
! demo-world Warning 1.7s
[+] Building 1592.7s (27/27) FINISHED docker:desktop-linux
=> [demo-world internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [demo-world internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 3.48kB 0.0s
=> [demo-world internal] load metadata for docker.io/osrf/ros:humble-desktop 1.3s
=> [demo-world base 1/16] FROM docker.io/osrf/ros:humble-desktop@sha256:f425b15248cfc24080a9a25a5f34be6f0b5ae68c6bddca0d50385eced97c8603 0.0s
=> [demo-world internal] load build context 0.0s
=> => transferring context: 2.96kB 0.0s
=> CACHED [demo-world base 2/16] RUN apt-get update && apt-get install -y --no-install-recommends git libcanberra-gtk-module libcanberra-gtk3-module fuse3 libfuse2 libqt5svg5-dev python3-pip python3-opencv python3-tk python3-pyq 0.0s
=> CACHED [demo-world base 3/16] RUN pip3 install matplotlib transforms3d 0.0s
=> CACHED [demo-world base 4/16] RUN apt-get update && apt-get install -y --no-install-recommends ros-humble-rmw-cyclonedds-cpp 0.0s
=> CACHED [demo-world base 5/16] RUN mkdir -p /turtlebot3_ws/src 0.0s
=> CACHED [demo-world base 6/16] WORKDIR /turtlebot3_ws/src 0.0s
=> CACHED [demo-world base 7/16] COPY dependencies.repos . 0.0s
=> [demo-world base 8/16] RUN vcs import < dependencies.repos 30.9s
=> [demo-world base 9/16] WORKDIR /turtlebot3_ws 0.0s
=> [demo-world base 10/16] RUN source /opt/ros/humble/setup.bash && apt-get update -y && rosdep install --from-paths src --ignore-src --rosdistro humble -y && colcon build --symlink-install 1312.4s
=> [demo-world base 11/16] WORKDIR /root/ 0.0s
=> [demo-world base 12/16] RUN curl -o Groot2.AppImage https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_linux_installer/Groot2-v1.0.1-x86_64.AppImage && chmod a+x Groot2.AppImage 9.1s
=> [demo-world base 13/16] RUN mkdir /tmp/runtime-root 0.2s
=> [demo-world base 14/16] RUN chmod -R 0700 /tmp/runtime-root 0.3s
=> [demo-world base 15/16] WORKDIR /turtlebot3_ws 0.0s
=> [demo-world base 16/16] COPY ./docker/entrypoint.sh / 0.0s
=> [demo-world overlay 1/6] RUN mkdir -p /overlay_ws/src 0.2s
=> [demo-world overlay 2/6] WORKDIR /overlay_ws 0.0s
=> [demo-world overlay 3/6] COPY ./tb3_autonomy/ ./src/tb3_autonomy/ 0.0s
=> [demo-world overlay 4/6] COPY ./tb3_worlds/ ./src/tb3_worlds/ 0.0s
=> [demo-world overlay 5/6] RUN source /turtlebot3_ws/install/setup.bash && rosdep install --from-paths src --ignore-src --rosdistro humble -y && colcon build --symlink-install 233.3s
=> [demo-world overlay 6/6] COPY ./docker/entrypoint.sh / 0.0s
=> [demo-world] exporting to image 4.7s
=> => exporting layers 4.7s
=> => writing image sha256:1c66e902c79d63ccbcc8092853a63000845f5835d0f25751a065595821363021 0.0s
=> => naming to docker.io/library/turtlebot3_behavior:overlay 0.0s
[+] Running 2/2
✔ Container turtlebot3_behavior_demos-demo-world-1 Created 0.1s
! demo-world The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s
Attaching to turtlebot3_behavior_demos-demo-world-1
turtlebot3_behavior_demos-demo-world-1 | Sourced ROS 2 humble
turtlebot3_behavior_demos-demo-world-1 | Sourced TurtleBot3 base workspace
turtlebot3_behavior_demos-demo-world-1 | Sourced autonomy overlay workspace
turtlebot3_behavior_demos-demo-world-1 | [INFO] [launch]: All log files can be found below /root/.ros/log/2023-09-20-12-51-48-720885-docker-desktop-1
turtlebot3_behavior_demos-demo-world-1 | [INFO] [launch]: Default logging verbosity is set to INFO
turtlebot3_behavior_demos-demo-world-1 | urdf_file_name : turtlebot3_waffle_pi.urdf
turtlebot3_behavior_demos-demo-world-1 | 1695214318.882020 [0] ros2: ddsi_udp_create_conn: set IP_MULTICAST_IF failed: Unsupported
turtlebot3_behavior_demos-demo-world-1 | [ERROR] [1695214318.885605462] [rmw_cyclonedds_cpp]: rmw_create_node: failed to create domain, error Error
turtlebot3_behavior_demos-demo-world-1 |
turtlebot3_behavior_demos-demo-world-1 | >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
turtlebot3_behavior_demos-demo-world-1 | This error state is being overwritten:
turtlebot3_behavior_demos-demo-world-1 |
turtlebot3_behavior_demos-demo-world-1 | 'error not set, at ./src/rcl/node.c:263'
turtlebot3_behavior_demos-demo-world-1 |
turtlebot3_behavior_demos-demo-world-1 | with this new error message:
turtlebot3_behavior_demos-demo-world-1 |
turtlebot3_behavior_demos-demo-world-1 | 'rcl node's rmw handle is invalid, at ./src/rcl/node.c:415'
turtlebot3_behavior_demos-demo-world-1 |
turtlebot3_behavior_demos-demo-world-1 | rcutils_reset_error() should be called after error handling to avoid this.
turtlebot3_behavior_demos-demo-world-1 | <<<
turtlebot3_behavior_demos-demo-world-1 | [ERROR] [1695214318.888839420] [rcl]: Failed to fini publisher for node: 1
turtlebot3_behavior_demos-demo-world-1 | [ERROR] [launch]: Caught exception in launch (see debug for traceback): error creating node: rcl node's rmw handle is invalid, at ./src/rcl/node.c:415
turtlebot3_behavior_demos-demo-world-1 exited with code 1
victorpaleologue commented
It looks related to ros2/rmw_cyclonedds#273