|
|
@@ -23,11 +23,12 @@ COPY ros2/ros_cpp /workspace/src/ros_cpp
|
|
|
|
RUN touch src/ros2/geometry2/tf2_bullet/COLCON_IGNORE \
|
|
|
|
RUN touch src/ros2/geometry2/tf2_bullet/COLCON_IGNORE \
|
|
|
|
&& touch src/ros2/rosbag2/rosbag2_storage_sqlite3/COLCON_IGNORE \
|
|
|
|
&& touch src/ros2/rosbag2/rosbag2_storage_sqlite3/COLCON_IGNORE \
|
|
|
|
&& touch src/ros-perception/image_transport_plugins/theora_image_transport/COLCON_IGNORE \
|
|
|
|
&& touch src/ros-perception/image_transport_plugins/theora_image_transport/COLCON_IGNORE \
|
|
|
|
&& touch src/ros2/orocos_kdl_vendor/python_orocos_kdl_vendor/COLCON_IGNORE
|
|
|
|
&& touch src/ros2/orocos_kdl_vendor/python_orocos_kdl_vendor/COLCON_IGNORE \
|
|
|
|
|
|
|
|
&& touch src/diagnostics/diagnostic_remote_logging/COLCON_IGNORE
|
|
|
|
|
|
|
|
|
|
|
|
RUN MAKEFLAGS="-j6" colcon build \
|
|
|
|
RUN colcon build \
|
|
|
|
--executor parallel \
|
|
|
|
--executor parallel \
|
|
|
|
--parallel-workers 6 \
|
|
|
|
--parallel-workers 4 \
|
|
|
|
--install-base ${TARGET_SYSROOT} \
|
|
|
|
--install-base ${TARGET_SYSROOT} \
|
|
|
|
--merge-install \
|
|
|
|
--merge-install \
|
|
|
|
--packages-up-to ros_cpp \
|
|
|
|
--packages-up-to ros_cpp \
|
|
|
@@ -41,19 +42,6 @@ RUN MAKEFLAGS="-j6" colcon build \
|
|
|
|
-DTRACETOOLS_DISABLED=ON \
|
|
|
|
-DTRACETOOLS_DISABLED=ON \
|
|
|
|
-DCV_BRIDGE_DISABLE_PYTHON=ON
|
|
|
|
-DCV_BRIDGE_DISABLE_PYTHON=ON
|
|
|
|
|
|
|
|
|
|
|
|
# pybind11 python soabi issue
|
|
|
|
|
|
|
|
WORKDIR ${TARGET_SYSROOT}/lib/python3.10/site-packages/rclpy
|
|
|
|
|
|
|
|
RUN mv _rclpy_pybind11.cpython-310-x86_64-linux-gnu.so _rclpy_pybind11.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
WORKDIR ${TARGET_SYSROOT}/lib/python3.10/site-packages/rosbag2_py
|
|
|
|
|
|
|
|
RUN mv _transport.cpython-310-x86_64-linux-gnu.so _transport.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _info.cpython-310-x86_64-linux-gnu.so _info.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _compression_options.cpython-310-x86_64-linux-gnu.so _compression_options.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _storage.cpython-310-x86_64-linux-gnu.so _storage.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _reindexer.cpython-310-x86_64-linux-gnu.so _reindexer.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _writer.cpython-310-x86_64-linux-gnu.so _writer.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _message_definitions.cpython-310-x86_64-linux-gnu.so _message_definitions.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN mv _reader.cpython-310-x86_64-linux-gnu.so _reader.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM ${CC_PLATFORM_IMAGE} AS rmw_zenoh_builder
|
|
|
|
FROM ${CC_PLATFORM_IMAGE} AS rmw_zenoh_builder
|
|
|
|
|
|
|
|
|
|
|
|
COPY --from=ros_builder ${TARGET_SYSROOT} ${TARGET_SYSROOT}
|
|
|
|
COPY --from=ros_builder ${TARGET_SYSROOT} ${TARGET_SYSROOT}
|
|
|
@@ -69,7 +57,14 @@ RUN mkdir rmw_zenoh_ws/src -p \
|
|
|
|
&& cd rmw_zenoh_ws/src \
|
|
|
|
&& cd rmw_zenoh_ws/src \
|
|
|
|
&& git clone --depth=1 -b jazzy https://github.com/ros2/rmw_zenoh.git
|
|
|
|
&& git clone --depth=1 -b jazzy https://github.com/ros2/rmw_zenoh.git
|
|
|
|
|
|
|
|
|
|
|
|
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-none-linux-gnu-gcc
|
|
|
|
# --- 给 cargo/cc-rs 补上明确的区分 ---
|
|
|
|
|
|
|
|
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-none-linux-gnu-gcc \
|
|
|
|
|
|
|
|
CC_aarch64_unknown_linux_gnu=aarch64-none-linux-gnu-gcc \
|
|
|
|
|
|
|
|
CXX_aarch64_unknown_linux_gnu=aarch64-none-linux-gnu-g++ \
|
|
|
|
|
|
|
|
AR_aarch64_unknown_linux_gnu=aarch64-none-linux-gnu-ar \
|
|
|
|
|
|
|
|
HOST_CC=gcc \
|
|
|
|
|
|
|
|
HOST_CXX=g++ \
|
|
|
|
|
|
|
|
HOST_AR=ar
|
|
|
|
|
|
|
|
|
|
|
|
RUN . "$HOME/.cargo/env" \
|
|
|
|
RUN . "$HOME/.cargo/env" \
|
|
|
|
&& . ${TARGET_SYSROOT}/local_setup.sh \
|
|
|
|
&& . ${TARGET_SYSROOT}/local_setup.sh \
|
|
|
@@ -95,4 +90,19 @@ FROM ${CC_PLATFORM_IMAGE} AS final
|
|
|
|
ARG ROS_ROOT
|
|
|
|
ARG ROS_ROOT
|
|
|
|
ENV ROS_ROOT=${ROS_ROOT}
|
|
|
|
ENV ROS_ROOT=${ROS_ROOT}
|
|
|
|
COPY --from=rmw_zenoh_builder ${TARGET_SYSROOT} ${ROS_ROOT}
|
|
|
|
COPY --from=rmw_zenoh_builder ${TARGET_SYSROOT} ${ROS_ROOT}
|
|
|
|
|
|
|
|
ENV TARGET_SYSROOT=${ROS_ROOT}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# pybind11 python soabi issue
|
|
|
|
|
|
|
|
RUN cd ${ROS_ROOT}/lib/python3.10/site-packages/rclpy \
|
|
|
|
|
|
|
|
&& mv _rclpy_pybind11.cpython-310-x86_64-linux-gnu.so _rclpy_pybind11.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
RUN cd ${ROS_ROOT}/lib/python3.10/site-packages/rosbag2_py \
|
|
|
|
|
|
|
|
&& mv _transport.cpython-310-x86_64-linux-gnu.so _transport.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _info.cpython-310-x86_64-linux-gnu.so _info.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _compression_options.cpython-310-x86_64-linux-gnu.so _compression_options.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _storage.cpython-310-x86_64-linux-gnu.so _storage.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _reindexer.cpython-310-x86_64-linux-gnu.so _reindexer.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _writer.cpython-310-x86_64-linux-gnu.so _writer.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _message_definitions.cpython-310-x86_64-linux-gnu.so _message_definitions.cpython-310-aarch64-linux-gnu.so \
|
|
|
|
|
|
|
|
&& mv _reader.cpython-310-x86_64-linux-gnu.so _reader.cpython-310-aarch64-linux-gnu.so
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /opt
|
|
|
|
WORKDIR /opt
|
|
|
|