You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Sho Nakatani (Jira)" <ji...@apache.org> on 2022/10/25 01:53:00 UTC

[jira] [Created] (ARROW-18149) [C++] Failed to compile join_example without `-DARROW_CSV=ON` option

Sho Nakatani created ARROW-18149:
------------------------------------

             Summary: [C++] Failed to compile join_example without `-DARROW_CSV=ON` option
                 Key: ARROW-18149
                 URL: https://issues.apache.org/jira/browse/ARROW-18149
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
    Affects Versions: 9.0.0
         Environment: % uname -a
Linux XXX 5.4.0-70-generic #78-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
            Reporter: Sho Nakatani


h1. Reproducing the bug
{code:java}
cd cpp
mkdir build-release
cd build-release
cmake .. \
  -DARROW_BUILD_EXAMPLES=ON \
  -DARROW_DATASET=ON \
  -DARROW_PARQUET=ON
make -j{code}
{code:java}
[ 95%] Linking CXX executable ../../release/join-example /usr/bin/ld: CMakeFiles/join-example.dir/join_example.cc.o: in function `CreateDataSetFromCSVData(bool)': join_example.cc:(.text+0x2fd): undefined reference to `arrow::csv::ReadOptions::Defaults()' /usr/bin/ld: join_example.cc:(.text+0x30d): undefined reference to `arrow::csv::ParseOptions::Defaults()' /usr/bin/ld: join_example.cc:(.text+0x322): undefined reference to `arrow::csv::ConvertOptions::Defaults()' /usr/bin/ld: join_example.cc:(.text+0x3bf): undefined reference to `arrow::csv::TableReader::Make(arrow::io::IOContext, std::shared_ptr<arrow::io::InputStream>, arrow::csv::ReadOptions const&, arrow::csv::ParseOptions const&, arrow::csv::ConvertOptions const&)' collect2: error: ld returned 1 exit status make[2]: *** [examples/arrow/CMakeFiles/join-example.dir/build.make:90: release/join-example] Error 1 make[1]: *** [CMakeFiles/Makefile2:1909: examples/arrow/CMakeFiles/join-example.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
{code}
h1. Workaround

Add `-DARROW_CSV=ON` option.
{code:java}
cmake .. \
  -DARROW_BUILD_EXAMPLES=ON \
  -DARROW_DATASET=ON \
  -DARROW_PARQUET=ON \
  -DARROW_CSV=ON
make -j
{code}
h1. How to fix

Put these lines in an additional condition.

[https://github.com/apache/arrow/blob/1ae666c31356fd9cb0bc54a32943e25454874f25/cpp/examples/arrow/CMakeLists.txt#L140-L141]
{code:java}
if(ARROW_CSV)
  add_arrow_example(join_example EXTRA_LINK_LIBS ${DATASET_EXAMPLES_LINK_LIBS})
  add_dependencies(join-example parquet) 
endif(){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)