From 0b87cba45b758b8daf19affd0b5293fe246ccf01 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Mon, 27 Oct 2025 19:48:58 -0700 Subject: [PATCH 1/2] remove the need for clang by fixing issue in or-tools code Signed-off-by: William Woodall --- README.md | 5 ++--- .../docker_images/intrinsic_sdk_cmake.Dockerfile | 4 +--- ortools_vendor/CMakeLists.txt | 7 ------- ortools_vendor/patches/fix_ip_parser_cc.diff | 8 ++++---- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index ab909d0..628557d 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,10 @@ git clone https://github.com/intrinsic-ai/sdk-ros.git Source ROS and build the SDK. ```bash -sudo apt update && sudo apt install clang-19 source /opt/ros/jazzy.setup.bash cd ~/intrinsic_ws/ -colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=/usr/bin/clang-19 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-19 \ +colcon build \ + --cmake-args -DCMAKE_BUILD_TYPE=Release \ --event-handlers=console_direct ``` diff --git a/intrinsic_sdk_cmake/docker_images/intrinsic_sdk_cmake.Dockerfile b/intrinsic_sdk_cmake/docker_images/intrinsic_sdk_cmake.Dockerfile index 3c7159c..9701497 100644 --- a/intrinsic_sdk_cmake/docker_images/intrinsic_sdk_cmake.Dockerfile +++ b/intrinsic_sdk_cmake/docker_images/intrinsic_sdk_cmake.Dockerfile @@ -87,7 +87,6 @@ RUN set -x \ RUN . /opt/ros/jazzy/setup.sh \ && set -x \ && apt-get update \ - && apt install clang-19 -y \ && rosdep update --rosdistro jazzy \ && cd /opt/intrinsic/intrinsic_sdk_cmake \ && touch src/intrinsic_sdk_ros/intrinsic_sdk/COLCON_IGNORE \ @@ -105,8 +104,7 @@ RUN . /opt/ros/jazzy/setup.sh \ && touch src/intrinsic_sdk_ros/intrinsic_sdk/COLCON_IGNORE \ && touch src/intrinsic_sdk_ros/intrinsic_sdk_ros/COLCON_IGNORE \ && colcon build \ - --cmake-args -DBUILD_TESTING=ON \ - -DCMAKE_C_COMPILER=/usr/bin/clang-19 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-19 \ + --cmake-args -DBUILD_TESTING=OFF \ --event-handlers console_direct+ console_stderr- \ --merge-install \ --executor=sequential diff --git a/ortools_vendor/CMakeLists.txt b/ortools_vendor/CMakeLists.txt index bb4b4a5..fc90cdd 100644 --- a/ortools_vendor/CMakeLists.txt +++ b/ortools_vendor/CMakeLists.txt @@ -1,13 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(ortools_vendor CXX) -if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") - message(FATAL_ERROR - "Clang is required. Detected: ${CMAKE_CXX_COMPILER_ID}. " - "'sudo apt install clang-19' and invoke colcon with --cmake-args as shown in " - "https://github.com/intrinsic-ai/sdk-ros?tab=readme-ov-file#getting-started") -endif() - # Default to C++20 if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 20) diff --git a/ortools_vendor/patches/fix_ip_parser_cc.diff b/ortools_vendor/patches/fix_ip_parser_cc.diff index b5f471d..5a13b1b 100644 --- a/ortools_vendor/patches/fix_ip_parser_cc.diff +++ b/ortools_vendor/patches/fix_ip_parser_cc.diff @@ -1,8 +1,8 @@ diff --git a/ortools/lp_data/lp_parser.cc b/ortools/lp_data/lp_parser.cc -index b0447ad..a8513ce 100644 +index e872c4f..37a7fe7 100644 --- a/ortools/lp_data/lp_parser.cc +++ b/ortools/lp_data/lp_parser.cc -@@ -347,16 +347,14 @@ TokenType LPParser::ConsumeToken(StringPiece* sp) { +@@ -362,16 +362,14 @@ TokenType LPParser::ConsumeToken(StringPiece* sp) { } // namespace @@ -21,7 +21,7 @@ index b0447ad..a8513ce 100644 } Fractional left_bound; -@@ -417,8 +415,9 @@ StatusOr ParseConstraint(absl::string_view constraint) { +@@ -432,8 +430,9 @@ StatusOr ParseConstraint(absl::string_view constraint) { right_bound = consumed_coeff; if (ConsumeToken(&constraint, &consumed_name, &consumed_coeff) != TokenType::END) { @@ -32,7 +32,7 @@ index b0447ad..a8513ce 100644 } } -@@ -447,6 +446,13 @@ StatusOr ParseConstraint(absl::string_view constraint) { +@@ -462,6 +461,13 @@ StatusOr ParseConstraint(absl::string_view constraint) { return parsed_constraint; } From 043d887b9d7e9b1c5cecb3e0ec54b0910380caca Mon Sep 17 00:00:00 2001 From: William Woodall Date: Thu, 30 Oct 2025 22:00:29 -0700 Subject: [PATCH 2/2] add missing file Signed-off-by: William Woodall --- ortools_vendor/patches/fix_clang_issue.diff | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 ortools_vendor/patches/fix_clang_issue.diff diff --git a/ortools_vendor/patches/fix_clang_issue.diff b/ortools_vendor/patches/fix_clang_issue.diff new file mode 100644 index 0000000..6fef45c --- /dev/null +++ b/ortools_vendor/patches/fix_clang_issue.diff @@ -0,0 +1,13 @@ +diff --git a/ortools/constraint_solver/routing_filter_committables.h b/ortools/constraint_solver/routing_filter_committables.h +index 5249064..1d38f41 100644 +--- a/ortools/constraint_solver/routing_filter_committables.h ++++ b/ortools/constraint_solver/routing_filter_committables.h +@@ -58,7 +58,7 @@ template + class CommittableArray { + public: + // Makes a vector with initial elements all committed to value. +- CommittableArray(size_t num_elements, const T& value) ++ CommittableArray(size_t num_elements, const T& value) + : elements_(num_elements, {value, value}), changed_(num_elements) {} + + // Return the size of the vector.