From 04946f28f01632683ac2c0f635da35d9e6a4529b Mon Sep 17 00:00:00 2001 From: EricX-Zhao Date: Tue, 12 May 2026 10:47:43 +0300 Subject: [PATCH] Update Dockerfile to apply memory strategy patch and adjust ROS_DISTRO handling --- .../ros2/lyrical/patch/memory_strategy.patch | 13 +++++++++++++ cross_compile/ros2/lyrical/ros_lyrical.Dockerfile | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 cross_compile/ros2/lyrical/patch/memory_strategy.patch diff --git a/cross_compile/ros2/lyrical/patch/memory_strategy.patch b/cross_compile/ros2/lyrical/patch/memory_strategy.patch new file mode 100644 index 0000000..3c0db34 --- /dev/null +++ b/cross_compile/ros2/lyrical/patch/memory_strategy.patch @@ -0,0 +1,13 @@ +diff --git a/rclcpp/include/rclcpp/memory_strategy.hpp b/rclcpp/include/rclcpp/memory_strategy.hpp +index 67e183d..fb5ba2a 100644 +--- a/rclcpp/include/rclcpp/memory_strategy.hpp ++++ b/rclcpp/include/rclcpp/memory_strategy.hpp +@@ -39,7 +39,7 @@ namespace memory_strategy + * the rmw implementation after the executor waits for work, based on the number of entities that + * come through. + */ +-class RCLCPP_PUBLIC [[deprecated("The executor does not used this anymore")]] MemoryStrategy ++class RCLCPP_PUBLIC MemoryStrategy + { + public: + RCLCPP_SMART_PTR_DEFINITIONS_NOT_COPYABLE(MemoryStrategy) diff --git a/cross_compile/ros2/lyrical/ros_lyrical.Dockerfile b/cross_compile/ros2/lyrical/ros_lyrical.Dockerfile index 2a9299a..8f66d65 100644 --- a/cross_compile/ros2/lyrical/ros_lyrical.Dockerfile +++ b/cross_compile/ros2/lyrical/ros_lyrical.Dockerfile @@ -14,11 +14,16 @@ FROM ${VENDOR_PACKAGES_IMAGE} AS vendor_images FROM ${CC_PLATFORM_IMAGE} AS ros_builder +ARG ROS_DISTRO WORKDIR /workspace COPY --from=ros_src /workspace /workspace +COPY ros2/${ROS_DISTRO}/patch /workspace/patch COPY --from=vendor_images ${TARGET_SYSROOT} ${TARGET_SYSROOT} COPY ros2/ros_cpp /workspace/src/ros_cpp +# apply patch +RUN patch -p1 -d /workspace/src/ros2/rclcpp < /workspace/patch/memory_strategy.patch + RUN touch src/ros2/geometry2/tf2_bullet/COLCON_IGNORE \ && touch src/ros2/rosbag2/rosbag2_storage_sqlite3/COLCON_IGNORE \ && touch src/ros-perception/image_transport_plugins/theora_image_transport/COLCON_IGNORE @@ -65,7 +70,7 @@ RUN . "$HOME/.cargo/env" \ RUN mkdir rmw_zenoh_ws/src -p \ && cd rmw_zenoh_ws/src \ - && git clone --depth=1 -b rolling https://github.com/ros2/rmw_zenoh.git + && git clone --depth=1 -b lyrical https://github.com/ros2/rmw_zenoh.git ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-none-linux-gnu-gcc