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

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 3c460f7c4e GH-47283: [C++] Fix flight visibility issue in Meson 
configuration (#47298)
3c460f7c4e is described below

commit 3c460f7c4e29309d8bdd6411a4adffc976baf0c6
Author: William Ayd <[email protected]>
AuthorDate: Mon Aug 11 21:55:59 2025 -0400

    GH-47283: [C++] Fix flight visibility issue in Meson configuration (#47298)
    
    ### Rationale for this change
    
    The meson configuration is missing some symbols for flight that appear to 
come from the testing library.
    
    ### What changes are included in this PR?
    
    Updates to the Meson configuration
    
    ### Are these changes tested?
    
    Yes
    
    ### Are there any user-facing changes?
    
    No
    * GitHub Issue: #47283
    
    Authored-by: Will Ayd <[email protected]>
    Signed-off-by: Sutou Kouhei <[email protected]>
---
 cpp/src/arrow/flight/meson.build                   |  5 +--
 cpp/src/arrow/integration/meson.build              |  3 +-
 cpp/src/arrow/meson.build                          | 42 ++++++++++++++++------
 cpp/src/arrow/util/meson.build                     |  3 +-
 cpp/subprojects/google-benchmark.wrap              | 10 +++---
 .../{google-benchmark.wrap => re2.wrap}            | 21 ++++++-----
 6 files changed, 51 insertions(+), 33 deletions(-)

diff --git a/cpp/src/arrow/flight/meson.build b/cpp/src/arrow/flight/meson.build
index 85df8e61cb..ca0289c77f 100644
--- a/cpp/src/arrow/flight/meson.build
+++ b/cpp/src/arrow/flight/meson.build
@@ -135,6 +135,7 @@ if needs_testing
             'test_util.cc',
         ],
         dependencies: [arrow_test_dep, arrow_flight_dep, thread_dep],
+        gnu_symbol_visibility: 'hidden',
     )
 
     arrow_flight_test_dep = declare_dependency(
@@ -194,12 +195,12 @@ if needs_benchmarks
     executable(
         'arrow-flight-perf-server',
         sources: ['perf_server.cc'] + flight_proto_files,
-        dependencies: flight_test_dep_no_main,
+        dependencies: [flight_test_dep_no_main, arrow_testing_dep],
     )
 
     executable(
         'arrow-flight-benchmark',
         sources: ['flight_benchmark.cc'] + flight_proto_files,
-        dependencies: flight_test_dep_no_main,
+        dependencies: [flight_test_dep_no_main, arrow_testing_dep],
     )
 endif
diff --git a/cpp/src/arrow/integration/meson.build 
b/cpp/src/arrow/integration/meson.build
index f63c6e0745..edc9fdf724 100644
--- a/cpp/src/arrow/integration/meson.build
+++ b/cpp/src/arrow/integration/meson.build
@@ -20,8 +20,7 @@ install_headers(['json_integration.h'])
 exc = executable(
     'arrow-json-integration-test',
     sources: ['json_integration_test.cc'],
-    dependencies: [arrow_dep, rapidjson_dep, gflags_dep, gtest_dep],
-    link_with: [arrow_test_lib],
+    dependencies: [arrow_test_dep_no_main, rapidjson_dep, gflags_dep],
 )
 
 if needs_tests
diff --git a/cpp/src/arrow/meson.build b/cpp/src/arrow/meson.build
index c1efd9df76..f19bd7a1be 100644
--- a/cpp/src/arrow/meson.build
+++ b/cpp/src/arrow/meson.build
@@ -569,20 +569,36 @@ else
     gmock_dep = disabler()
 endif
 
-arrow_test_lib = static_library(
-    'arrow_testing',
-    sources: arrow_testing_srcs,
-    dependencies: [arrow_dep, filesystem_dep, gmock_dep, gtest_main_dep],
-)
+if needs_testing
+    arrow_testing_lib = static_library(
+        'arrow_testing',
+        sources: arrow_testing_srcs,
+        dependencies: [arrow_dep, filesystem_dep, gmock_dep, gtest_dep],
+    )
+
+    arrow_testing_dep = declare_dependency(link_with: [arrow_testing_lib])
+else
+    arrow_testing_dep = disabler()
+endif
 
 if needs_tests
     arrow_test_dep = declare_dependency(
-        link_with: [arrow_test_lib],
-        dependencies: [arrow_dep, filesystem_dep, gmock_dep, gtest_main_dep],
+        dependencies: [
+            arrow_dep,
+            arrow_testing_dep,
+            filesystem_dep,
+            gmock_dep,
+            gtest_main_dep,
+        ],
     )
     arrow_test_dep_no_main = declare_dependency(
-        link_with: [arrow_test_lib],
-        dependencies: [arrow_dep, filesystem_dep, gmock_dep, gtest_dep],
+        dependencies: [
+            arrow_dep,
+            arrow_testing_dep,
+            filesystem_dep,
+            gmock_dep,
+            gtest_dep,
+        ],
     )
 else
     arrow_test_dep = disabler()
@@ -655,8 +671,12 @@ if needs_benchmarks
     )
 
     arrow_benchmark_dep = declare_dependency(
-        link_with: [arrow_test_lib],
-        dependencies: [arrow_dep, benchmark_main_dep, gtest_dep],
+        dependencies: [
+            arrow_dep,
+            arrow_testing_dep,
+            benchmark_main_dep,
+            gtest_dep,
+        ],
     )
 else
     arrow_benchmark_dep = disabler()
diff --git a/cpp/src/arrow/util/meson.build b/cpp/src/arrow/util/meson.build
index b6f674b2b1..99217a28da 100644
--- a/cpp/src/arrow/util/meson.build
+++ b/cpp/src/arrow/util/meson.build
@@ -236,8 +236,7 @@ endif
 exc = executable(
     'arrow-utility-test',
     sources: utility_test_srcs,
-    dependencies: [arrow_dep, filesystem_dep, gtest_dep, gmock_dep],
-    link_with: [arrow_test_lib],
+    dependencies: arrow_test_dep_no_main,
     implicit_include_directories: false,
 )
 test('arrow-utility-test', exc)
diff --git a/cpp/subprojects/google-benchmark.wrap 
b/cpp/subprojects/google-benchmark.wrap
index 3b6704639e..10b8064b45 100644
--- a/cpp/subprojects/google-benchmark.wrap
+++ b/cpp/subprojects/google-benchmark.wrap
@@ -20,11 +20,11 @@ directory = benchmark-1.8.4
 source_url = 
https://github.com/google/benchmark/archive/refs/tags/v1.8.4.tar.gz
 source_filename = benchmark-1.8.4.tar.gz
 source_hash = 3e7059b6b11fb1bbe28e33e02519398ca94c1818874ebed18e504dc6f709be45
-patch_filename = google-benchmark_1.8.4-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/google-benchmark_1.8.4-1/get_patch
-patch_hash = 77cdae534fe12b6783c1267de3673d3462b229054519034710d581b419e73cca
-source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/google-benchmark_1.8.4-1/benchmark-1.8.4.tar.gz
-wrapdb_version = 1.8.4-1
+patch_filename = google-benchmark_1.8.4-3_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/google-benchmark_1.8.4-3/get_patch
+patch_hash = 657aee778629725cf9104bbfc32dba0c9c6825d5202e600ad81c7251ae684468
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/google-benchmark_1.8.4-3/benchmark-1.8.4.tar.gz
+wrapdb_version = 1.8.4-3
 
 [provide]
 benchmark = google_benchmark_dep
diff --git a/cpp/subprojects/google-benchmark.wrap b/cpp/subprojects/re2.wrap
similarity index 59%
copy from cpp/subprojects/google-benchmark.wrap
copy to cpp/subprojects/re2.wrap
index 3b6704639e..9451671a70 100644
--- a/cpp/subprojects/google-benchmark.wrap
+++ b/cpp/subprojects/re2.wrap
@@ -16,16 +16,15 @@
 # under the License.
 
 [wrap-file]
-directory = benchmark-1.8.4
-source_url = 
https://github.com/google/benchmark/archive/refs/tags/v1.8.4.tar.gz
-source_filename = benchmark-1.8.4.tar.gz
-source_hash = 3e7059b6b11fb1bbe28e33e02519398ca94c1818874ebed18e504dc6f709be45
-patch_filename = google-benchmark_1.8.4-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/google-benchmark_1.8.4-1/get_patch
-patch_hash = 77cdae534fe12b6783c1267de3673d3462b229054519034710d581b419e73cca
-source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/google-benchmark_1.8.4-1/benchmark-1.8.4.tar.gz
-wrapdb_version = 1.8.4-1
+directory = re2-2023-03-01
+source_url = https://github.com/google/re2/archive/2023-03-01.tar.gz
+source_filename = re2-2023-03-01.tar.gz
+source_hash = 7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48
+patch_filename = re2_20230301-3_patch.zip
+patch_url = https://wrapdb.mesonbuild.com/v2/re2_20230301-3/get_patch
+patch_hash = 9d5036080272a886fee0dec9ea415129ae57ee6bad4b56991b29ed355c0d97e3
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/re2_20230301-3/re2-2023-03-01.tar.gz
+wrapdb_version = 20230301-3
 
 [provide]
-benchmark = google_benchmark_dep
-benchmark-main = google_benchmark_main_dep
+re2 = re2_dep

Reply via email to