From ec215fc2ab7dd8a66a52f40127b28a0e778215eb Mon Sep 17 00:00:00 2001 From: EricX-Zhao Date: Mon, 20 Apr 2026 18:04:41 +0300 Subject: [PATCH] Add ROS 2 Jazzy and Rolling support with Dockerfiles and repository configurations - Created ros_jazzy.repos for ROS 2 Jazzy with necessary repositories. - Added ros_rolling.Dockerfile for building ROS 2 Rolling with a multi-stage build process. - Introduced ros_rolling.repos for ROS 2 Rolling with updated repository versions. - Updated CMakeLists.txt in ceres_vendor to use version 2.1.0 and modified build options. - Adjusted package.xml in ceres_vendor to comment out unnecessary dependencies. - Created vendor_packages.Dockerfile to build various vendor packages including Ceres, OpenCV, and PCL with optimizations for cross-compilation. --- cross_compile/README.md | 11 +- ...{Dockerfile.cc_base => cc_base.Dockerfile} | 0 cross_compile/compose.yaml | 8 +- ...kerfile.cc_rk3588 => cc_rk3588.Dockerfile} | 0 cross_compile/ros2/jazzy/ros_jazzy.Dockerfile | 95 ++++ cross_compile/ros2/jazzy/ros_jazzy.repos | 449 ++++++++++++++++++ .../ros_rolling.Dockerfile} | 2 +- .../ros2/{ => rolling}/ros_rolling.repos | 2 +- .../ceres_vendor/CMakeLists.txt | 11 +- .../vendor_packages/ceres_vendor/package.xml | 4 +- ...or_packages => vendor_packages.Dockerfile} | 8 +- 11 files changed, 572 insertions(+), 18 deletions(-) rename cross_compile/{Dockerfile.cc_base => cc_base.Dockerfile} (100%) rename cross_compile/rk3588/{Dockerfile.cc_rk3588 => cc_rk3588.Dockerfile} (100%) create mode 100644 cross_compile/ros2/jazzy/ros_jazzy.Dockerfile create mode 100644 cross_compile/ros2/jazzy/ros_jazzy.repos rename cross_compile/ros2/{Dockerfile.ros_rolling => rolling/ros_rolling.Dockerfile} (97%) rename cross_compile/ros2/{ => rolling}/ros_rolling.repos (99%) rename cross_compile/vendor_packages/{Dockerfile.vendor_packages => vendor_packages.Dockerfile} (94%) diff --git a/cross_compile/README.md b/cross_compile/README.md index 138d22d..6fd5a6c 100644 --- a/cross_compile/README.md +++ b/cross_compile/README.md @@ -1,5 +1,14 @@ # Build Cross Compiled Develop Image ```bash -PLATFORM=rk3588 docker compose build +docker compose build cc-base + +PLATFORM=rk3588 docker compose build cc-toolchain + +PLATFORM=rk3588 docker compose build vendor-packages + +PLATFORM=rk3588 ROS_DISTRO=rolling docker compose build ros2 + +# debug +DOCKER_BUILDKIT=0 PLATFORM=rk3588 ROS_DISTRO=jazzy docker compose build ros2 ``` diff --git a/cross_compile/Dockerfile.cc_base b/cross_compile/cc_base.Dockerfile similarity index 100% rename from cross_compile/Dockerfile.cc_base rename to cross_compile/cc_base.Dockerfile diff --git a/cross_compile/compose.yaml b/cross_compile/compose.yaml index 4fff49a..eaf92ec 100644 --- a/cross_compile/compose.yaml +++ b/cross_compile/compose.yaml @@ -5,14 +5,14 @@ services: cc-base: build: context: . - dockerfile: Dockerfile.cc_base + dockerfile: cc_base.Dockerfile image: cc-base:latest # 第二步:编译针对 RK3588 的镜像 cc-toolchain: build: context: . # 上下文设为根目录,这样才能同时访问 rk3588 文件夹 - dockerfile: ${PLATFORM}/Dockerfile.cc_${PLATFORM} + dockerfile: ${PLATFORM}/cc_${PLATFORM}.Dockerfile image: ${PLATFORM}/cc-toolchain:latest depends_on: - cc-base @@ -21,7 +21,7 @@ services: vendor-packages: build: context: . - dockerfile: vendor_packages/Dockerfile.vendor_packages + dockerfile: vendor_packages/vendor_packages.Dockerfile args: CC_PLATFORM_IMAGE: ${PLATFORM}/cc-toolchain:latest image: ${PLATFORM}/cc-vendor-packages:latest @@ -31,7 +31,7 @@ services: ros2: build: context: . - dockerfile: ros2/Dockerfile.ros_${ROS_DISTRO} + dockerfile: ros2/${ROS_DISTRO}/ros_${ROS_DISTRO}.Dockerfile args: ROS_DISTRO: ${ROS_DISTRO} PLATFORM: ${PLATFORM} diff --git a/cross_compile/rk3588/Dockerfile.cc_rk3588 b/cross_compile/rk3588/cc_rk3588.Dockerfile similarity index 100% rename from cross_compile/rk3588/Dockerfile.cc_rk3588 rename to cross_compile/rk3588/cc_rk3588.Dockerfile diff --git a/cross_compile/ros2/jazzy/ros_jazzy.Dockerfile b/cross_compile/ros2/jazzy/ros_jazzy.Dockerfile new file mode 100644 index 0000000..751f8e5 --- /dev/null +++ b/cross_compile/ros2/jazzy/ros_jazzy.Dockerfile @@ -0,0 +1,95 @@ +ARG CC_PLATFORM_IMAGE +ARG VENDOR_PACKAGES_IMAGE + +FROM ${CC_PLATFORM_IMAGE} AS ros_src + +ARG ROS_DISTRO + +WORKDIR /workspace +RUN mkdir -p /workspace/src +COPY ros2/${ROS_DISTRO}/ros_${ROS_DISTRO}.repos . +RUN vcs import --shallow --workers 4 --input ros_${ROS_DISTRO}.repos src +RUN echo "Build ros ${ROS_DISTRO}" + +FROM ${VENDOR_PACKAGES_IMAGE} AS vendor_images + +FROM ${CC_PLATFORM_IMAGE} AS ros_builder + +WORKDIR /workspace +COPY --from=ros_src /workspace /workspace +COPY --from=vendor_images ${TARGET_SYSROOT} ${TARGET_SYSROOT} +COPY ros2/ros_cpp /workspace/src/ros_cpp + +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 \ + && touch src/ros2/orocos_kdl_vendor/python_orocos_kdl_vendor/COLCON_IGNORE + +RUN MAKEFLAGS="-j6" colcon build \ + --executor parallel \ + --parallel-workers 6 \ + --install-base ${TARGET_SYSROOT} \ + --merge-install \ + --packages-up-to ros_cpp \ + --cmake-force-configure \ + --cmake-args \ + --no-warn-unused-cli \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE} \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DBUILD_TESTING=OFF \ + -DTRACETOOLS_DISABLED=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 + +COPY --from=ros_builder ${TARGET_SYSROOT} ${TARGET_SYSROOT} + +# rust install +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y +RUN . "$HOME/.cargo/env" \ + && rustup install 1.75.0 \ + && rustup default 1.75.0 \ + && rustup target add aarch64-unknown-linux-gnu + +RUN mkdir rmw_zenoh_ws/src -p \ + && cd rmw_zenoh_ws/src \ + && 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 + +RUN . "$HOME/.cargo/env" \ + && . ${TARGET_SYSROOT}/local_setup.sh \ + && colcon build \ + --install-base ${TARGET_SYSROOT} \ + --merge-install \ + --packages-up-to rmw_zenoh_cpp \ + --cmake-force-configure \ + --cmake-args \ + --no-warn-unused-cli \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE} \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DBUILD_TESTING=OFF \ + -DZENOHC_CUSTOM_TARGET=aarch64-unknown-linux-gnu + +RUN cp -rf ${TARGET_SYSROOT}/opt/zenoh_cpp_vendor/include ${TARGET_SYSROOT} +RUN cp -rf ${TARGET_SYSROOT}/opt/zenoh_cpp_vendor/lib ${TARGET_SYSROOT} +RUN rm -rf ${TARGET_SYSROOT}/opt + +FROM ${CC_PLATFORM_IMAGE} AS final + +COPY --from=rmw_zenoh_builder ${TARGET_SYSROOT} ${TARGET_SYSROOT} diff --git a/cross_compile/ros2/jazzy/ros_jazzy.repos b/cross_compile/ros2/jazzy/ros_jazzy.repos new file mode 100644 index 0000000..ff725dc --- /dev/null +++ b/cross_compile/ros2/jazzy/ros_jazzy.repos @@ -0,0 +1,449 @@ +repositories: + ament/ament_cmake: + type: git + url: https://github.com/ament/ament_cmake.git + version: jazzy + ament/ament_index: + type: git + url: https://github.com/ament/ament_index.git + version: jazzy + ament/ament_lint: + type: git + url: https://github.com/ament/ament_lint.git + version: jazzy + ament/ament_package: + type: git + url: https://github.com/ament/ament_package.git + version: jazzy + ament/google_benchmark_vendor: + type: git + url: https://github.com/ament/google_benchmark_vendor.git + version: jazzy + ament/googletest: + type: git + url: https://github.com/ament/googletest.git + version: jazzy + diagnostics: + type: git + url: https://github.com/ros/diagnostics.git + version: ros2-jazzy + eProsima/Fast-CDR: + type: git + url: https://github.com/eProsima/Fast-CDR.git + version: 2.2.x + eProsima/Fast-DDS: + type: git + url: https://github.com/eProsima/Fast-DDS.git + version: 2.14.x + eProsima/foonathan_memory_vendor: + type: git + url: https://github.com/eProsima/foonathan_memory_vendor.git + version: master + ffmpeg_image_transport_msgs: + type: git + url: https://github.com/ros-misc-utilities/ffmpeg_image_transport_msgs.git + version: rolling + ros-perception/image_transport_plugins: + type: git + url: https://github.com/ros-perception/image_transport_plugins.git + version: jazzy + osrf/osrf_pycommon: + type: git + url: https://github.com/osrf/osrf_pycommon.git + version: master + osrf/osrf_testing_tools_cpp: + type: git + url: https://github.com/osrf/osrf_testing_tools_cpp.git + version: jazzy + ros-perception/pcl_msgs: + type: git + url: https://github.com/ros-perception/pcl_msgs.git + version: ros2 + ros-perception/image_common: + type: git + url: https://github.com/ros-perception/image_common.git + version: jazzy + ros-perception/laser_geometry: + type: git + url: https://github.com/ros-perception/laser_geometry.git + version: jazzy + ros-perception/perception_pcl: + type: git + url: https://github.com/ros-perception/perception_pcl.git + version: jazzy + ros-perception/point_cloud_transport: + type: git + url: https://github.com/ros-perception/point_cloud_transport.git + version: jazzy + ros-planning/navigation_msgs: + type: git + url: https://github.com/ros-planning/navigation_msgs.git + version: jazzy + ros-tooling/keyboard_handler: + type: git + url: https://github.com/ros-tooling/keyboard_handler.git + version: jazzy + ros-tooling/libstatistics_collector: + type: git + url: https://github.com/ros-tooling/libstatistics_collector.git + version: jazzy + ros-visualization/interactive_markers: + type: git + url: https://github.com/ros-visualization/interactive_markers.git + version: jazzy + ros-visualization/python_qt_binding: + type: git + url: https://github.com/ros-visualization/python_qt_binding.git + version: jazzy + ros-visualization/qt_gui_core: + type: git + url: https://github.com/ros-visualization/qt_gui_core.git + version: jazzy + ros-visualization/rqt: + type: git + url: https://github.com/ros-visualization/rqt.git + version: jazzy + ros-visualization/rqt_action: + type: git + url: https://github.com/ros-visualization/rqt_action.git + version: jazzy + ros-visualization/rqt_bag: + type: git + url: https://github.com/ros-visualization/rqt_bag.git + version: jazzy + ros-visualization/rqt_console: + type: git + url: https://github.com/ros-visualization/rqt_console.git + version: jazzy + ros-visualization/rqt_graph: + type: git + url: https://github.com/ros-visualization/rqt_graph.git + version: jazzy + ros-visualization/rqt_msg: + type: git + url: https://github.com/ros-visualization/rqt_msg.git + version: jazzy + ros-visualization/rqt_plot: + type: git + url: https://github.com/ros-visualization/rqt_plot.git + version: jazzy + ros-visualization/rqt_publisher: + type: git + url: https://github.com/ros-visualization/rqt_publisher.git + version: jazzy + ros-visualization/rqt_py_console: + type: git + url: https://github.com/ros-visualization/rqt_py_console.git + version: jazzy + ros-visualization/rqt_reconfigure: + type: git + url: https://github.com/ros-visualization/rqt_reconfigure.git + version: jazzy + ros-visualization/rqt_service_caller: + type: git + url: https://github.com/ros-visualization/rqt_service_caller.git + version: jazzy + ros-visualization/rqt_shell: + type: git + url: https://github.com/ros-visualization/rqt_shell.git + version: jazzy + ros-visualization/rqt_srv: + type: git + url: https://github.com/ros-visualization/rqt_srv.git + version: jazzy + ros-visualization/rqt_topic: + type: git + url: https://github.com/ros-visualization/rqt_topic.git + version: jazzy + ros-visualization/tango_icons_vendor: + type: git + url: https://github.com/ros-visualization/tango_icons_vendor.git + version: jazzy + ros/class_loader: + type: git + url: https://github.com/ros/class_loader.git + version: jazzy + ros/kdl_parser: + type: git + url: https://github.com/ros/kdl_parser.git + version: jazzy + ros/pluginlib: + type: git + url: https://github.com/ros/pluginlib.git + version: jazzy + ros/resource_retriever: + type: git + url: https://github.com/ros/resource_retriever.git + version: jazzy + ros/robot_state_publisher: + type: git + url: https://github.com/ros/robot_state_publisher.git + version: jazzy + ros/ros_environment: + type: git + url: https://github.com/ros/ros_environment.git + version: jazzy + ros/ros_tutorials: + type: git + url: https://github.com/ros/ros_tutorials.git + version: jazzy + ros/urdfdom: + type: git + url: https://github.com/ros/urdfdom.git + version: jazzy + ros/urdfdom_headers: + type: git + url: https://github.com/ros/urdfdom_headers.git + version: jazzy + ros/eigen_stl_containers: + type: git + url: https://github.com/ros/eigen_stl_containers.git + version: ros2 + ros/angles: + type: git + url: https://github.com/ros/angles.git + version: ros2 + ros-geographic-info: + type: git + url: https://github.com/ros-geographic-info/geographic_info.git + version: ros2 + ros2/ament_cmake_ros: + type: git + url: https://github.com/ros2/ament_cmake_ros.git + version: jazzy + ros2/common_interfaces: + type: git + url: https://github.com/ros2/common_interfaces.git + version: jazzy + ros2/console_bridge_vendor: + type: git + url: https://github.com/ros2/console_bridge_vendor.git + version: jazzy + ros2/demos: + type: git + url: https://github.com/ros2/demos.git + version: jazzy + ros2/eigen3_cmake_module: + type: git + url: https://github.com/ros2/eigen3_cmake_module.git + version: jazzy + ros2/example_interfaces: + type: git + url: https://github.com/ros2/example_interfaces.git + version: jazzy + ros2/examples: + type: git + url: https://github.com/ros2/examples.git + version: jazzy + ros2/geometry2: + type: git + url: https://github.com/ros2/geometry2.git + version: jazzy + ros2/launch: + type: git + url: https://github.com/ros2/launch.git + version: jazzy + ros2/launch_ros: + type: git + url: https://github.com/ros2/launch_ros.git + version: jazzy + ros2/message_filters: + type: git + url: https://github.com/ros2/message_filters.git + version: jazzy + ros2/performance_test_fixture: + type: git + url: https://github.com/ros2/performance_test_fixture.git + version: jazzy + ros2/python_cmake_module: + type: git + url: https://github.com/ros2/python_cmake_module.git + version: jazzy + ros2/rcl: + type: git + url: https://github.com/ros2/rcl.git + version: jazzy + ros2/rcl_interfaces: + type: git + url: https://github.com/ros2/rcl_interfaces.git + version: jazzy + ros2/rcl_logging: + type: git + url: https://github.com/ros2/rcl_logging.git + version: jazzy + ros2/rclcpp: + type: git + url: https://github.com/ros2/rclcpp.git + version: jazzy + ros2/rclpy: + type: git + url: https://github.com/ros2/rclpy.git + version: jazzy + ros2/rcpputils: + type: git + url: https://github.com/ros2/rcpputils.git + version: jazzy + ros2/rcutils: + type: git + url: https://github.com/ros2/rcutils.git + version: jazzy + ros2/realtime_support: + type: git + url: https://github.com/ros2/realtime_support.git + version: jazzy + ros2/rmw: + type: git + url: https://github.com/ros2/rmw.git + version: jazzy + ros2/rmw_connextdds: + type: git + url: https://github.com/ros2/rmw_connextdds.git + version: jazzy + ros2/rmw_cyclonedds: + type: git + url: https://github.com/ros2/rmw_cyclonedds.git + version: jazzy + ros2/rmw_dds_common: + type: git + url: https://github.com/ros2/rmw_dds_common.git + version: jazzy + ros2/rmw_fastrtps: + type: git + url: https://github.com/ros2/rmw_fastrtps.git + version: jazzy + ros2/rmw_implementation: + type: git + url: https://github.com/ros2/rmw_implementation.git + version: jazzy + ros2/ros2_tracing: + type: git + url: https://github.com/ros2/ros2_tracing.git + version: jazzy + ros2/ros2cli: + type: git + url: https://github.com/ros2/ros2cli.git + version: jazzy + ros2/ros2cli_common_extensions: + type: git + url: https://github.com/ros2/ros2cli_common_extensions.git + version: jazzy + ros2/ros_testing: + type: git + url: https://github.com/ros2/ros_testing.git + version: jazzy + ros2/rosbag2: + type: git + url: https://github.com/ros2/rosbag2.git + version: jazzy + ros2/rosidl: + type: git + url: https://github.com/ros2/rosidl.git + version: jazzy + ros2/rosidl_core: + type: git + url: https://github.com/ros2/rosidl_core.git + version: jazzy + ros2/rosidl_dds: + type: git + url: https://github.com/ros2/rosidl_dds.git + version: jazzy + ros2/rosidl_defaults: + type: git + url: https://github.com/ros2/rosidl_defaults.git + version: jazzy + ros2/rosidl_dynamic_typesupport: + type: git + url: https://github.com/ros2/rosidl_dynamic_typesupport.git + version: jazzy + ros2/rosidl_dynamic_typesupport_fastrtps: + type: git + url: https://github.com/ros2/rosidl_dynamic_typesupport_fastrtps.git + version: jazzy + ros2/rosidl_python: + type: git + url: https://github.com/ros2/rosidl_python.git + version: jazzy + ros2/rosidl_runtime_py: + type: git + url: https://github.com/ros2/rosidl_runtime_py.git + version: jazzy + ros2/rosidl_typesupport: + type: git + url: https://github.com/ros2/rosidl_typesupport.git + version: jazzy + ros2/rosidl_typesupport_fastrtps: + type: git + url: https://github.com/ros2/rosidl_typesupport_fastrtps.git + version: jazzy + ros2/rpyutils: + type: git + url: https://github.com/ros2/rpyutils.git + version: jazzy + ros2/rviz: + type: git + url: https://github.com/ros2/rviz.git + version: jazzy + ros2/sros2: + type: git + url: https://github.com/ros2/sros2.git + version: jazzy + ros2/system_tests: + type: git + url: https://github.com/ros2/system_tests.git + version: jazzy + ros2/test_interface_files: + type: git + url: https://github.com/ros2/test_interface_files.git + version: jazzy + ros2/tlsf: + type: git + url: https://github.com/ros2/tlsf.git + version: jazzy + ros2/unique_identifier_msgs: + type: git + url: https://github.com/ros2/unique_identifier_msgs.git + version: jazzy + ros2/urdf: + type: git + url: https://github.com/ros2/urdf.git + version: jazzy + variants: + type: git + url: https://github.com/ros2/variants.git + version: jazzy + vision_msgs: + type: git + url: https://github.com/ros-perception/vision_msgs.git + version: ros2 + vision_opencv: + type: git + url: https://github.com/ros-perception/vision_opencv.git + version: rolling + ros2/console_bridge_vendor: + type: git + url: https://github.com/ros2/console_bridge_vendor.git + version: rolling + ros2/libyaml_vendor: + type: git + url: https://github.com/ros2/libyaml_vendor.git + version: rolling + ros2/spdlog_vendor: + type: git + url: https://github.com/ros2/spdlog_vendor.git + version: rolling + ros2/yaml_cpp_vendor: + type: git + url: https://github.com/ros2/yaml_cpp_vendor.git + version: rolling + ros2/tinyxml2_vendor: + type: git + url: https://github.com/ros2/tinyxml2_vendor.git + version: jazzy + ros2/orocos_kdl_vendor: + type: git + url: https://github.com/ros2/orocos_kdl_vendor.git + version: jazzy + ros2/pybind11_vendor: + type: git + url: https://github.com/ros2/pybind11_vendor.git + version: jazzy diff --git a/cross_compile/ros2/Dockerfile.ros_rolling b/cross_compile/ros2/rolling/ros_rolling.Dockerfile similarity index 97% rename from cross_compile/ros2/Dockerfile.ros_rolling rename to cross_compile/ros2/rolling/ros_rolling.Dockerfile index 4cca55b..9652d70 100644 --- a/cross_compile/ros2/Dockerfile.ros_rolling +++ b/cross_compile/ros2/rolling/ros_rolling.Dockerfile @@ -66,7 +66,7 @@ RUN . "$HOME/.cargo/env" \ RUN mkdir rmw_zenoh_ws/src -p \ && cd rmw_zenoh_ws/src \ - && git clone -b rolling https://github.com/ros2/rmw_zenoh.git + && git clone --depth=1 -b rolling https://github.com/ros2/rmw_zenoh.git ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-none-linux-gnu-gcc diff --git a/cross_compile/ros2/ros_rolling.repos b/cross_compile/ros2/rolling/ros_rolling.repos similarity index 99% rename from cross_compile/ros2/ros_rolling.repos rename to cross_compile/ros2/rolling/ros_rolling.repos index 150b5b0..6610391 100644 --- a/cross_compile/ros2/ros_rolling.repos +++ b/cross_compile/ros2/rolling/ros_rolling.repos @@ -430,4 +430,4 @@ repositories: ros2/yaml_cpp_vendor: type: git url: https://github.com/ros2/yaml_cpp_vendor.git - version: rolling \ No newline at end of file + version: rolling diff --git a/cross_compile/vendor_packages/ceres_vendor/CMakeLists.txt b/cross_compile/vendor_packages/ceres_vendor/CMakeLists.txt index 2663105..b86c1e6 100644 --- a/cross_compile/vendor_packages/ceres_vendor/CMakeLists.txt +++ b/cross_compile/vendor_packages/ceres_vendor/CMakeLists.txt @@ -14,16 +14,17 @@ endif() include(FetchContent) FetchContent_Declare( ceres_vendor - GIT_REPOSITORY https://github.com/EricX-Zhao/ceres-solver.git - GIT_TAG suitesparse # 锁定 2.0.0 标签 - GIT_SHALLOW TRUE + URL https://github.com/ceres-solver/ceres-solver/archive/refs/tags/2.1.0.tar.gz + # SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ext/ ) -# set(SUITESPARSE OFF CACHE BOOL "" FORCE) -set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE) +set(MINIGLOG ON CACHE BOOL "Use a stripped down version of glog." FORCE) +set(GFLAGS OFF CACHE BOOL "Enable Google Flags." FORCE) +set(BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Library" FORCE) set(BUILD_EXAMPLES OFF CACHE BOOL "BUILD_EXAMPLES" FORCE) set(BUILD_TESTING OFF CACHE BOOL "BUILD_TESTING" FORCE) set(BUILD_BENCHMARKS OFF CACHE BOOL "BUILD_BENCHMARKS" FORCE) set(CMAKE_BUILD_TYPE Release) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMAX_LOG_LEVEL=-1") FetchContent_MakeAvailable(ceres_vendor) diff --git a/cross_compile/vendor_packages/ceres_vendor/package.xml b/cross_compile/vendor_packages/ceres_vendor/package.xml index 01b7ae0..a3655f1 100644 --- a/cross_compile/vendor_packages/ceres_vendor/package.xml +++ b/cross_compile/vendor_packages/ceres_vendor/package.xml @@ -8,8 +8,8 @@ TODO: License declaration eigen3_vendor - glog_vendor - suitesparse_vendor + + cmake diff --git a/cross_compile/vendor_packages/Dockerfile.vendor_packages b/cross_compile/vendor_packages/vendor_packages.Dockerfile similarity index 94% rename from cross_compile/vendor_packages/Dockerfile.vendor_packages rename to cross_compile/vendor_packages/vendor_packages.Dockerfile index c063f28..63d351d 100644 --- a/cross_compile/vendor_packages/Dockerfile.vendor_packages +++ b/cross_compile/vendor_packages/vendor_packages.Dockerfile @@ -20,10 +20,10 @@ RUN cd workspace \ FROM ${CC_PLATFORM_IMAGE} AS ceres_vendor COPY vendor_packages/eigen3_vendor workspace/src/eigen3_vendor -COPY vendor_packages/gflags_vendor workspace/src/gflags_vendor -COPY vendor_packages/glog_vendor workspace/src/glog_vendor -COPY vendor_packages/openblas_vendor workspace/src/openblas_vendor -COPY vendor_packages/suitesparse_vendor workspace/src/suitesparse_vendor +# COPY vendor_packages/gflags_vendor workspace/src/gflags_vendor +# COPY vendor_packages/glog_vendor workspace/src/glog_vendor +# COPY vendor_packages/openblas_vendor workspace/src/openblas_vendor +# COPY vendor_packages/suitesparse_vendor workspace/src/suitesparse_vendor COPY vendor_packages/ceres_vendor workspace/src/ceres_vendor RUN cd workspace \