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