From 7c7d11ddec3978a61ae6de0cf37ff5030c32ee7f Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Tue, 14 Dec 2021 17:47:40 +0100 Subject: [PATCH 1/2] ARROW-15101: [Python] Fix build failure on CSV writer On some combination of configuration options, I would get the following errors: ``` /home/antoine/arrow/dev/python/build/temp.linux-x86_64-3.9/_csv.cpp:16716:70: error: no member named 'WriteCSV' in namespace 'arrow::csv' __pyx_t_4 = __pyx_f_7pyarrow_3lib_check_status(arrow::csv::WriteCSV((*__pyx_v_batch), __pyx_v_c_write_options, __pyx_v_stream.get())); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1040, __pyx_L5_error) ~~~~~~~~~~~~^ /home/antoine/arrow/dev/python/build/temp.linux-x86_64-3.9/_csv.cpp:16797:70: error: no member named 'WriteCSV' in namespace 'arrow::csv' __pyx_t_4 = __pyx_f_7pyarrow_3lib_check_status(arrow::csv::WriteCSV((*__pyx_v_table), __pyx_v_c_write_options, __pyx_v_stream.get())); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 1044, __pyx_L8_error) ~~~~~~~~~~~~^ /home/antoine/arrow/dev/python/build/temp.linux-x86_64-3.9/_csv.cpp:17089:109: error: no member named 'MakeCSVWriter' in namespace 'arrow::csv' __pyx_t_2 = arrow::py::GetResultValue >(arrow::csv::MakeCSVWriter(__pyx_v_c_stream, __pyx_v_c_schema, __pyx_v_c_write_options)); if (unlikely(__Pyx_ErrOccurredWithGIL())) __PYX_ERR(0, 1076, __pyx_L4_error) ~~~~~~~~~~~~^ 3 errors generated. ``` --- cpp/src/arrow/csv/api.h | 1 + cpp/src/parquet/CMakeLists.txt | 4 ---- cpp/src/parquet/arrow/arrow_reader_writer_test.cc | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/cpp/src/arrow/csv/api.h b/cpp/src/arrow/csv/api.h index 7bf39315767..9f83efab296 100644 --- a/cpp/src/arrow/csv/api.h +++ b/cpp/src/arrow/csv/api.h @@ -21,6 +21,7 @@ #include "arrow/csv/reader.h" // The writer depends on compute module for casting. +#include "arrow/util/config.h" // for ARROW_COMPUTE definition #ifdef ARROW_COMPUTE #include "arrow/csv/writer.h" #endif diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index cbf5882f96a..4dcda67acf7 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -408,7 +408,3 @@ endif() if(ARROW_WITH_ZSTD) add_definitions(-DARROW_WITH_ZSTD) endif() - -if(ARROW_CSV) - add_definitions(-DARROW_CSV) -endif() diff --git a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc index 389c5366efa..4849d65dbf3 100644 --- a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc +++ b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc @@ -45,6 +45,7 @@ #include "arrow/testing/util.h" #include "arrow/type_traits.h" #include "arrow/util/checked_cast.h" +#include "arrow/util/config.h" // for ARROW_CSV definition #include "arrow/util/decimal.h" #include "arrow/util/future.h" #include "arrow/util/logging.h" From 97a9a4ff5f128bb2902115891d2a67068bbcf6c5 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Tue, 14 Dec 2021 19:10:53 +0100 Subject: [PATCH 2/2] Make sure arrow/util/config.h is included where needed. --- cpp/src/arrow/util/basic_decimal.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/cpp/src/arrow/util/basic_decimal.cc b/cpp/src/arrow/util/basic_decimal.cc index 0fbed2c47da..aaae6bfe7c2 100644 --- a/cpp/src/arrow/util/basic_decimal.cc +++ b/cpp/src/arrow/util/basic_decimal.cc @@ -28,6 +28,7 @@ #include #include "arrow/util/bit_util.h" +#include "arrow/util/config.h" // for ARROW_USE_NATIVE_INT128 #include "arrow/util/endian.h" #include "arrow/util/int128_internal.h" #include "arrow/util/int_util_internal.h"