The lines
> mkdir build
> cd build
should be
mkdir cpp/build
cd cpp/build

Let me know if other configurations/bindings are needed.

On 9/28/21 10:25 AM, Benson Muite wrote:
Maybe helpful to create a ticket at:
https://issues.apache.org/jira/projects/ARROW
for more documentation on setup with Cent OS 7

Currently trying this on commit 1f481d9 (tagged as apache-arrow-6.0.0.dev) - having some trouble with current head of the development repository. Installed

yum install gcc-c++ gcc bison flex git python3 make
yum groupinstall "Development tools"

Then build and install a recent version of cmake from source (tried with 3.21.3).

Then

git clone https://github.com/apache/arrow.git
cd arrow
git submodule init
git submodule update
export PARQUET_TEST_DATA="${PWD}/cpp/submodules/parquet-testing/data"
export ARROW_TEST_DATA="${PWD}/testing/data"
git checkout  1f481d9
mkdir build
cd build
PATH/TO/INSTALLED/cmake .. -DARROW_PARQUET=ON -DARROW_COMPUTE=ON -DARROW_CSV=ON -DCMAKE_BUILD_TYPE=Release -DARROW_BUILD_TESTS=OFF -DThrift_SOURCE=BUNDLED -DPARQUET_REQUIRE_ENCRYPTION=ON

This seems to build.

When using,

PATH/TO/INSTALLED/cmake .. -DARROW_PARQUET=ON -DARROW_COMPUTE=ON -DARROW_CSV=ON -DCMAKE_BUILD_TYPE=Release -DARROW_BUILD_TESTS=OFF -DThrift_SOURCE=BUNDLED -DPARQUET_REQUIRE_ENCRYPTION=ON

am investigating why the build fails with:

In file included from /root/arrow/cpp/src/arrow/util/reflection_test.cc:23:0: /root/arrow/cpp/src/arrow/util/enum.h: In instantiation of ‘static constexpr bool arrow::EnumStrings<N>::assert_count() [with int M = 1; int N = 3]’: /root/arrow/cpp/src/arrow/util/enum.h:57:28:   required from ‘constexpr arrow::EnumStrings<N>::EnumStrings(const Strs& ...) [with Strs = {testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >}; int N = 3]’ /usr/include/c++/4.8.2/type_traits:1305:35:   required by substitution of ‘template<class _From1, class _To1> static decltype ((__test_aux<_To1>(declval<_From1>()), std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To, false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; _To = const arrow::EnumStrings<3>&] [with _From1 = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; _To1 = const arrow::EnumStrings<3>&]’ /usr/include/c++/4.8.2/type_traits:1312:50:   required from ‘constexpr const bool std::__is_convertible_helper<testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >, const arrow::EnumStrings<3>&, false>::value’ /usr/include/c++/4.8.2/type_traits:1317:12:   required from ‘struct std::is_convertible<testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >, const arrow::EnumStrings<3>&>’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:137:48:   required from ‘static testing::Matcher<T> testing::internal::MatcherCastImpl<T, M>::Cast(const M&) [with T = const arrow::EnumStrings<3>&; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:260:78:   required from ‘static testing::Matcher<T> testing::SafeMatcherCastImpl<T>::Cast(const M&) [with M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; T = const arrow::EnumStrings<3>&]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:298:58:   required from ‘testing::Matcher<T> testing::SafeMatcherCast(const M&) [with T = const arrow::EnumStrings<3>&; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:1313:73:   required from ‘testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<M>::operator()(const char*, const T&) const [with T = arrow::EnumStrings<3>; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/src/arrow/util/reflection_test.cc:249:3:   required from here /root/arrow/cpp/src/arrow/util/enum.h:51:5: error: static assertion failed: Incorrect number of enum strings provided
      static_assert(M == N, "Incorrect number of enum strings provided");
      ^
/root/arrow/cpp/src/arrow/util/enum.h: In instantiation of ‘constexpr arrow::EnumStrings<N>::EnumStrings(const Strs& ...) [with Strs = {testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >}; int N = 3]’: /usr/include/c++/4.8.2/type_traits:1305:35:   required by substitution of ‘template<class _From1, class _To1> static decltype ((__test_aux<_To1>(declval<_From1>()), std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To, false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; _To = const arrow::EnumStrings<3>&] [with _From1 = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; _To1 = const arrow::EnumStrings<3>&]’ /usr/include/c++/4.8.2/type_traits:1312:50:   required from ‘constexpr const bool std::__is_convertible_helper<testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >, const arrow::EnumStrings<3>&, false>::value’ /usr/include/c++/4.8.2/type_traits:1317:12:   required from ‘struct std::is_convertible<testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >, const arrow::EnumStrings<3>&>’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:137:48:   required from ‘static testing::Matcher<T> testing::internal::MatcherCastImpl<T, M>::Cast(const M&) [with T = const arrow::EnumStrings<3>&; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:260:78:   required from ‘static testing::Matcher<T> testing::SafeMatcherCastImpl<T>::Cast(const M&) [with M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >; T = const arrow::EnumStrings<3>&]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:298:58:   required from ‘testing::Matcher<T> testing::SafeMatcherCast(const M&) [with T = const arrow::EnumStrings<3>&; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/release/googletest_ep-prefix/include/gmock/gmock-matchers.h:1313:73:   required from ‘testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<M>::operator()(const char*, const T&) const [with T = arrow::EnumStrings<3>; M = testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >]’ /root/arrow/cpp/src/arrow/util/reflection_test.cc:249:3:   required from here /root/arrow/cpp/src/arrow/util/enum.h:57:85: error: no matching function for call to ‘nonstd::sv_lite::basic_string_view<char>::basic_string_view(const testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >&)’        : dummy_{assert_count<sizeof...(Strs)>()}, strings_{util::string_view(strs)...} {}

               ^
/root/arrow/cpp/src/arrow/util/enum.h:57:85: note: candidates are:
In file included from /root/arrow/cpp/src/arrow/util/string_view.h:25:0,
                  from /root/arrow/cpp/src/arrow/buffer.h:31,
                  from /root/arrow/cpp/src/arrow/array/data.h:26,
                  from /root/arrow/cpp/src/arrow/array/array_base.h:26,
                  from /root/arrow/cpp/src/arrow/array/builder_binary.h:30,
                  from /root/arrow/cpp/src/arrow/testing/gtest_util.h:33,
                  from /root/arrow/cpp/src/arrow/testing/future_util.h:20,
                  from /root/arrow/cpp/src/arrow/testing/matchers.h:24,
                 from /root/arrow/cpp/src/arrow/util/reflection_test.cc:22: /root/arrow/cpp/src/arrow/vendored/string_view.hpp:914:5: note: template<class Allocator> nonstd::sv_lite::basic_string_view<CharT, Traits>::basic_string_view(const std::basic_string<CharT, Traits, Allocator>&)      basic_string_view( std::basic_string<CharT, Traits, Allocator> const & s ) nssv_noexcept
      ^
/root/arrow/cpp/src/arrow/vendored/string_view.hpp:914:5: note: template argument deduction/substitution failed: In file included from /root/arrow/cpp/src/arrow/util/reflection_test.cc:23:0: /root/arrow/cpp/src/arrow/util/enum.h:57:85: note:   ‘const testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >’ is not derived from ‘const std::basic_string<char, std::char_traits<char>, Allocator>’        : dummy_{assert_count<sizeof...(Strs)>()}, strings_{util::string_view(strs)...} {}

               ^
In file included from /root/arrow/cpp/src/arrow/util/string_view.h:25:0,
                  from /root/arrow/cpp/src/arrow/buffer.h:31,
                  from /root/arrow/cpp/src/arrow/array/data.h:26,
                  from /root/arrow/cpp/src/arrow/array/array_base.h:26,
                  from /root/arrow/cpp/src/arrow/array/builder_binary.h:30,
                  from /root/arrow/cpp/src/arrow/testing/gtest_util.h:33,
                  from /root/arrow/cpp/src/arrow/testing/future_util.h:20,
                  from /root/arrow/cpp/src/arrow/testing/matchers.h:24,
                 from /root/arrow/cpp/src/arrow/util/reflection_test.cc:22: /root/arrow/cpp/src/arrow/vendored/string_view.hpp:502:20: note: constexpr nonstd::sv_lite::basic_string_view<CharT, Traits>::basic_string_view(const CharT*) [with CharT = char; Traits = std::char_traits<char>]      nssv_constexpr basic_string_view( CharT const * s) nssv_noexcept // non-standard noexcept
                     ^
/root/arrow/cpp/src/arrow/vendored/string_view.hpp:502:20: note:   no known conversion for argument 1 from ‘const testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >’ to ‘const char*’ /root/arrow/cpp/src/arrow/vendored/string_view.hpp:497:20: note: constexpr nonstd::sv_lite::basic_string_view<CharT, Traits>::basic_string_view(const CharT*, nonstd::sv_lite::basic_string_view<CharT, Traits>::size_type) [with CharT = char; Traits = std::char_traits<char>; nonstd::sv_lite::basic_string_view<CharT, Traits>::size_type = long unsigned int]      nssv_constexpr basic_string_view( CharT const * s, size_type count ) nssv_noexcept // non-standard noexcept
                     ^
/root/arrow/cpp/src/arrow/vendored/string_view.hpp:497:20: note: candidate expects 2 arguments, 1 provided /root/arrow/cpp/src/arrow/vendored/string_view.hpp:489:20: note: constexpr nonstd::sv_lite::basic_string_view<CharT, Traits>::basic_string_view(const nonstd::sv_lite::basic_string_view<CharT, Traits>&) [with CharT = char; Traits = std::char_traits<char>]      nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default;
                     ^
/root/arrow/cpp/src/arrow/vendored/string_view.hpp:489:20: note:   no known conversion for argument 1 from ‘const testing::internal::ElementsAreMatcher<std::tuple<nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> >, nonstd::sv_lite::basic_string_view<char, std::char_traits<char> > > >’ to ‘const nonstd::sv_lite::basic_string_view<char>&’ /root/arrow/cpp/src/arrow/vendored/string_view.hpp:483:20: note: constexpr nonstd::sv_lite::basic_string_view<CharT, Traits>::basic_string_view() [with CharT = char; Traits = std::char_traits<char>]
      nssv_constexpr basic_string_view() nssv_noexcept
                     ^
/root/arrow/cpp/src/arrow/vendored/string_view.hpp:483:20: note: candidate expects 0 arguments, 1 provided cc1plus: warning: unrecognized command line option "-Wno-unknown-warning-option" [enabled by default] make[2]: *** [src/arrow/util/CMakeFiles/arrow-utility-test.dir/reflection_test.cc.o] Error 1
make[1]: *** [src/arrow/util/CMakeFiles/arrow-utility-test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

On 9/28/21 8:17 AM, Rares Vernica wrote:
CentOS 7

On Mon, Sep 27, 2021 at 10:06 PM Benson Muite <benson_mu...@emailplus.org>
wrote:

Hi Rares,
What operating system are you using?
Benson
On 9/28/21 7:38 AM, Rares Vernica wrote:
Hello,

I'm still struggling to build Arrow with Parquet. I compiled Thrift
myself
but I'm running into dependency issues with Boost.

It looks like the Boost download URL provided in
ThirdpartyToolchain.cmake
here

https://github.com/apache/arrow/blob/ef4e92982054fcc723729ab968296d799d3108dd/cpp/cmake_modules/ThirdpartyToolchain.cmake#L405
links to GitHub Releases https://github.com/boostorg/boost/releases. The
.tar.gz provided there does not contain the Boost headers.

Cheers,
Rares






Reply via email to