This is an automated email from the ASF dual-hosted git repository.

yangxk1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-graphar.git


The following commit(s) were added to refs/heads/main by this push:
     new 76b95a32 fix: Fix CI build issues across C++, Python, Rust workflows 
(#939)
76b95a32 is described below

commit 76b95a3257295f13452df30b6bc94d1a9e1abb78
Author: Jason <[email protected]>
AuthorDate: Mon Jul 20 22:37:37 2026 +0800

    fix: Fix CI build issues across C++, Python, Rust workflows (#939)
    
    * chore(ci): upgrade cxx and remove fixed Arrow version
    
    Signed-off-by: Jason <[email protected]>
    
    * fix: unify Arrow linking in benchmarks and add ASan options via 
CROSSCOMPILING_EMULATOR
    
    - benchmarks: replace raw arrow/parquet lib names with CMake imported 
targets (Arrow::arrow_static/Parquet::parquet_static) to properly propagate 
transitive deps like abseil
    - tests: set CROSSCOMPILING_EMULATOR with 
ASAN_OPTIONS=detect_container_overflow=0 to suppress false positives from 
non-instrumented Arrow static libs during test discovery
    
    Signed-off-by: Jason <[email protected]>
    
    ---------
    
    Signed-off-by: Jason <[email protected]>
---
 .github/workflows/ci.yml      |  8 ++++----
 .github/workflows/python.yml  |  8 ++++----
 .github/workflows/rust.yaml   | 10 +++++-----
 cpp/benchmarks/CMakeLists.txt | 42 +++++++++++++++++++++++++++---------------
 cpp/test/CMakeLists.txt       |  6 ++++++
 rust/Cargo.lock               | 39 +++++++++++++++++++++++++--------------
 6 files changed, 71 insertions(+), 42 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fb7c4059..284f94c6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -67,10 +67,10 @@ jobs:
             -P /tmp/
         sudo apt-get install -y 
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
         sudo apt-get update -y
-        sudo apt install -y libarrow-dev=24.0.0-1 \
-                            libarrow-dataset-dev=24.0.0-1 \
-                            libarrow-acero-dev=24.0.0-1 \
-                            libparquet-dev=24.0.0-1
+        sudo apt install -y libarrow-dev \
+                            libarrow-dataset-dev \
+                            libarrow-acero-dev \
+                            libparquet-dev
         sudo apt-get install -y libboost-graph-dev ccache libcurl4-openssl-dev 
doxygen lcov ninja-build
 
         # install benchmark
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 4a8962e0..07a33303 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -65,10 +65,10 @@ jobs:
             -P /tmp/
         sudo apt-get install -y 
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
         sudo apt-get update -y
-        sudo apt install -y libarrow-dev=24.0.0-1 \
-                            libarrow-dataset-dev=24.0.0-1 \
-                            libarrow-acero-dev=24.0.0-1 \
-                            libparquet-dev=24.0.0-1
+        sudo apt install -y libarrow-dev \
+                            libarrow-dataset-dev \
+                            libarrow-acero-dev \
+                            libparquet-dev
         sudo apt-get install -y ccache libcurl4-openssl-dev
         git clone https://github.com/apache/incubator-graphar-testing.git 
$GAR_TEST_DATA --depth 1
 
diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml
index ff8d3e8e..0d254e71 100644
--- a/.github/workflows/rust.yaml
+++ b/.github/workflows/rust.yaml
@@ -97,11 +97,11 @@ jobs:
             -P /tmp/
           sudo apt-get install -y 
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
           sudo apt-get update -y
-          sudo apt install -y libarrow-dev=24.0.0-1 \
-                            libarrow-dataset-dev=24.0.0-1 \
-                            libarrow-acero-dev=24.0.0-1 \
-                            libparquet-dev=24.0.0-1 \
-                            libarrow-compute-dev=24.0.0-1
+          sudo apt install -y libarrow-dev \
+                            libarrow-dataset-dev \
+                            libarrow-acero-dev \
+                            libparquet-dev \
+                            libarrow-compute-dev
           sudo apt-get install -y libboost-graph-dev ccache 
libcurl4-openssl-dev doxygen lcov cmake
 
       - name: Spell Check
diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt
index 75d28f97..8cacc153 100644
--- a/cpp/benchmarks/CMakeLists.txt
+++ b/cpp/benchmarks/CMakeLists.txt
@@ -29,21 +29,11 @@ macro(add_benchmark target)
   add_executable(${target} ${add_test_SRCS})
   target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
   target_include_directories(${target} PRIVATE 
${PROJECT_SOURCE_DIR}/thirdparty)
-  if(APPLE)
-    target_link_libraries(${target}
-                          PRIVATE benchmark::benchmark_main
-                                  graphar
-                                  Arrow::arrow_shared
-                                  Parquet::parquet_shared
-                                  ${CMAKE_DL_LIBS})
-  else()
-    target_link_libraries(${target}
-                          PRIVATE benchmark::benchmark_main
-                                  graphar
-                                  parquet
-                                  arrow
-                                  ${CMAKE_DL_LIBS})
-  endif()
+  target_link_libraries(${target}
+                        PRIVATE benchmark::benchmark_main
+                                graphar
+                                ${CMAKE_DL_LIBS})
+
   if(BUILD_ARROW_FROM_SOURCE)
     target_include_directories(${target} SYSTEM BEFORE PRIVATE 
${GAR_ARROW_INCLUDE_DIR})
     if(APPLE)
@@ -65,6 +55,28 @@ macro(add_benchmark target)
                                     "${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
                                     -Wl,--no-whole-archive)
     endif()
+  else()
+    if(APPLE)
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${target} PRIVATE -Wl,-force_load 
Arrow::arrow_static
+                                                Parquet::parquet_static)
+      else()
+        target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
+    else()
+      if(USE_STATIC_ARROW)
+        target_link_libraries(${target}
+                              PRIVATE -Wl,--exclude-libs,ALL
+                                      -Wl,--whole-archive
+                                      Arrow::arrow_static
+                                      Parquet::parquet_static
+                                      -Wl,--no-whole-archive)
+      else()
+        target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+                                                Parquet::parquet_shared)
+      endif()
+    endif()
   endif()
 endmacro()
 
diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt
index 827b50b8..187e91b0 100644
--- a/cpp/test/CMakeLists.txt
+++ b/cpp/test/CMakeLists.txt
@@ -82,6 +82,12 @@ macro(add_graphar_test target)
 
   include(CTest)
   include(Catch)
+
+  if(GRAPHAR_ENABLE_SANITIZER)
+    set_target_properties(${target}
+      PROPERTIES CROSSCOMPILING_EMULATOR 
"env;ASAN_OPTIONS=detect_container_overflow=0"
+    )
+  endif()
   catch_discover_tests(${target})
 endmacro()
 
diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index 4bb944f3..3e513c56 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -78,9 +78,9 @@ dependencies = [
 
 [[package]]
 name = "cxx"
-version = "1.0.190"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a7620f6cfc4dcca21f2b085b7a890e16c60fd66f560cd69ee60594908dc72ab1"
+checksum = "6fe442a792c7c736eea18b32a7f8a3b63cf8aafabda6760042dc2fdeda456291"
 dependencies = [
  "cc",
  "cxx-build",
@@ -93,9 +93,9 @@ dependencies = [
 
 [[package]]
 name = "cxx-build"
-version = "1.0.190"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7a9bc1a22964ff6a355fbec24cf68266a0ed28f8b84c0864c386474ea3d0e479"
+checksum = "e3184a94384c663718698311a78a51ac00c484c10b4eeac06fb0a068c5f64fa2"
 dependencies = [
  "cc",
  "codespan-reporting",
@@ -103,39 +103,39 @@ dependencies = [
  "proc-macro2",
  "quote",
  "scratch",
- "syn",
+ "syn 3.0.2",
 ]
 
 [[package]]
 name = "cxxbridge-cmd"
-version = "1.0.190"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b1f29a879d35f7906e3c9b77d7a1005a6a0787d330c09dfe4ffb5f617728cb44"
+checksum = "0148d8fd1199329ddf1d157a5e134e51ceff37c6a7ddd38615c399d81cb05d8d"
 dependencies = [
  "clap",
  "codespan-reporting",
  "indexmap",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 3.0.2",
 ]
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.190"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d67109015f93f683e364085aa6489a5b2118b4a40058482101d699936a7836d6"
+checksum = "52850339faed2eaadd24e286dc1d8268cc6f8a7bd9524d713adc9099566b4c89"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.190"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d187e019e7b05a1f3e69a8396b70800ee867aa9fc2ab972761173ccee03742df"
+checksum = "2c77c856545d886c9bd5215409ebb63b925e262135248b50c79e5a5f194ee47c"
 dependencies = [
  "indexmap",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 3.0.2",
 ]
 
 [[package]]
@@ -321,7 +321,7 @@ checksum = 
"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.111",
 ]
 
 [[package]]
@@ -347,6 +347,17 @@ dependencies = [
  "unicode-ident",
 ]
 
+[[package]]
+name = "syn"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "a207d6d6a2b7fc470b80443726053f18a2481b7e1eee970597051596567987a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
 [[package]]
 name = "tempfile"
 version = "3.24.0"


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to