Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
0.17.0
-
Linux HP 5.3.0-46-generic #38~18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Description
I wanted to play around with Flight benchmark after seeing the discussion regarding Flight's throughput in arrow dev mailing list today.
I met the following error when trying to build the benchmark from latest source code:
[ 95%] Linking CXX executable ../../../debug/arrow-flight-perf-server ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::filesystem::detail::canonical(boost::filesystem::path const&, boost::filesystem::path const&, boost::system::error_code*)' ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::system::system_category()' ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::filesystem::path::parent_path() const' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `deflate' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `deflateEnd' ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::system::generic_category()' ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::filesystem::detail::current_path(boost::system::error_code*)' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `inflateInit2_' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `inflate' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `deflateInit2_' ../../../debug/libarrow_flight.so.18.0.0: undefined reference to `inflateEnd' ../../../debug/libarrow_flight_testing.so.18.0.0: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' collect2: error: ld returned 1 exit status src/arrow/flight/CMakeFiles/arrow-flight-perf-server.dir/build.make:154: recipe for target 'debug/arrow-flight-perf-server' failed make[2]: *** [debug/arrow-flight-perf-server] Error 1 CMakeFiles/Makefile2:2609: recipe for target 'src/arrow/flight/CMakeFiles/arrow-flight-perf-server.dir/all' failed make[1]: *** [src/arrow/flight/CMakeFiles/arrow-flight-perf-server.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2
I was using cmake .. -DCMAKE_BUILD_TYPE=Debug -DARROW_DEPENDENCY_SOURCE=AUTO -DARROW_FLIGHT=ON -DARROW_BUILD_BENCHMARKS=ON -DARROW_CXXFLAGS="-lboost_filesystem -lboost_system" to configure the build.
I noticed that there was a ARROW_BOOST_BUILD_VERSION: 1.71.0 in the output, but the Boost library that I installed from the package manger was of this version: 1.65.1.0ubuntu1. Could this be the cause of the problem?
PS:
I was able to build the benchmark before. It was on AWS with the OS being ubuntu-bionic-18.04-amd64-server-20191002, which should be very similar to the one I'm using on my laptop.
Attachments
Issue Links
- links to