From a553dcce5cf36a8f2c3ce5f424a3cac9e9da1e89 Mon Sep 17 00:00:00 2001 From: Matt Spencer Date: Fri, 17 Jul 2026 09:34:33 +0000 Subject: [PATCH] Fix fast_lio for jazzy build --- Dockerfile | 5 ++++- patches/apply_patches.sh | 1 + patches/fast_lio.patch | 26 ++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 patches/fast_lio.patch diff --git a/Dockerfile b/Dockerfile index 8f2efb3..29bcd29 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,9 @@ RUN cd ./src/upstream/livox_ros_driver2 && \ ln -sfn launch_ROS2 launch && \ ln -sfn package_ROS2.xml package.xml +RUN cd ./src/upsstream/FAST_LIO && \ + git submodule update --init + # Apply patches to upstream # RUN ./patches/apply_patches.sh @@ -58,7 +61,7 @@ RUN cd src/upstream/livox_sdk && \ # Build the workspace with symlink install RUN . /opt/ros/jazzy/setup.sh && \ colcon build --symlink-install \ - --packages-ignore unitree_lidar_ros2 unitree_lidar_ros unitree_lidar_sdk fast_lio \ + --packages-ignore unitree_lidar_ros2 unitree_lidar_ros unitree_lidar_sdk \ --cmake-args -DROS_EDITION=ROS2 -DDISTRO_ROS=jazzy # Source the overlay on container startup diff --git a/patches/apply_patches.sh b/patches/apply_patches.sh index ffc15ac..9347098 100755 --- a/patches/apply_patches.sh +++ b/patches/apply_patches.sh @@ -25,3 +25,4 @@ apply_patch_once() { apply_patch_once "$ROOT_DIR/src/upstream/livox_sdk" "$PATCH_DIR/livox_sdk.patch" apply_patch_once "$ROOT_DIR/src/upstream/slam_gmapping" "$PATCH_DIR/slam_gmapping.patch" +apply_patch_once "$ROOT_DIR/src/upstream/FAST_LIO" "$PATCH_DIR/fast_lio.patch" diff --git a/patches/fast_lio.patch b/patches/fast_lio.patch new file mode 100644 index 0000000..494cbc3 --- /dev/null +++ b/patches/fast_lio.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be3040b..4931c35 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,17 +5,16 @@ if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) + endif() + +-ADD_COMPILE_OPTIONS(-std=c++14) +-ADD_COMPILE_OPTIONS(-std=c++14) +-set(CMAKE_CXX_FLAGS "-std=c++14 -O3") ++ADD_COMPILE_OPTIONS(-std=c++17) ++set(CMAKE_CXX_FLAGS "-std=c++17 -O3") + + add_definitions(-DROOT_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/\") + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions") +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread -std=c++0x -std=c++14 -fexceptions") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -pthread -fexceptions") + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + message("Current CPU archtecture: ${CMAKE_SYSTEM_PROCESSOR}")