> I am not sure what additional benefit using a git submodule would be. It might prevent build errors arising from master-to-master instability.
-Sandeep On Thu, Nov 23, 2017 at 9:40 PM, Wes McKinney <[email protected]> wrote: > We build Arrow automatically in the toolchain if the developer has not > provided another install location via $ARROW_HOME or > $PARQUET_BUILD_TOOLCHAIN: > > https://github.com/apache/parquet-cpp/blob/master/cmake_ > modules/ThirdpartyToolchain.cmake#L340 > > I am not sure what additional benefit using a git submodule would be. > > - Wes > > On Thu, Nov 23, 2017 at 10:36 AM, Sandeep Joshi <[email protected]> > wrote: > > Wes, > > > > Build worked after latest git pull but I do wish it arrow were a > submodule > > of parquet-cpp ! > > > > thanks > > -Sandeep > > > > On Thu, Nov 23, 2017 at 8:23 PM, Wes McKinney <[email protected]> > wrote: > > > >> hi Sandeep, > >> > >> If you are not using the latest tagged releases of the projects, you > >> should be using the master branches of each project for development. > >> We did make some API changes in the last days that impacted > >> parquet-cpp (which will be released as Arrow 0.8.0 and parquet-cpp > >> 1.4.0 respectively), but master-to-master is stable now. > >> > >> - Wes > >> > >> On Thu, Nov 23, 2017 at 2:08 AM, Sandeep Joshi <[email protected]> > >> wrote: > >> > I am getting build errors seen below in parquet-cpp because of > >> > incompatibilities with arrow version (latest) > >> > To get a stable build, should I use master branch of both or some > other > >> > branch ? > >> > Arrow does not appear as a git submodule of parquet-cpp so there is no > >> way > >> > to track dependencies or flag incompatible changes. > >> > > >> > The arrow build is as of git commit hash fc4e2c36d2c56 > >> > Author: Wes McKinney <[email protected]> > >> > Date: Tue Nov 21 19:01:48 2017 -0500 > >> > > >> > The parquet-cpp build has git commit hash 6a2ed4f29731 > >> > Author: Phillip Cloud <[email protected]> > >> > Date: Sun Nov 19 23:19:03 2017 -0500 > >> > > >> > In file included from > >> > /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, > >> > from /usr/include/c++/7/bits/allocator.h:46, > >> > from /usr/include/c++/7/memory:63, > >> > from > >> > /home/sandeep/utils/FILE_FORMAT/parquet-cpp/src/ > >> parquet/arrow/reader.h:21, > >> > from > >> > /home/sandeep/utils/FILE_FORMAT/parquet-cpp/src/ > >> parquet/arrow/reader.cc:18: > >> > /usr/include/c++/7/ext/new_allocator.h: In instantiation of ‘void > >> > __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with > _Up = > >> > arrow::Table; _Args = {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; _Tp = > >> arrow::Table]’: > >> > /usr/include/c++/7/bits/alloc_traits.h:475:4: required from ‘static > >> void > >> > std::allocator_traits<std::allocator<_Tp1> > >> >>::construct(std::allocator_traits<std::allocator<_Tp1> > >> >::allocator_type&, > >> > _Up*, _Args&& ...) [with _Up = arrow::Table; _Args = > >> > {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; _Tp = > arrow::Table; > >> > std::allocator_traits<std::allocator<_Tp1> >::allocator_type = > >> > std::allocator<arrow::Table>]’ > >> > /usr/include/c++/7/bits/shared_ptr_base.h:526:39: required from > >> > ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, > >> > _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = > >> > {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; _Tp = > arrow::Table; > >> > _Alloc = std::allocator<arrow::Table>; __gnu_cxx::_Lock_policy _Lp = > >> > (__gnu_cxx::_Lock_policy)2]’ > >> > /usr/include/c++/7/bits/shared_ptr_base.h:637:4: required from > >> > ‘std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, > >> _Tp*, > >> > const _Alloc&, _Args&& ...) [with _Tp = arrow::Table; _Alloc = > >> > std::allocator<arrow::Table>; _Args = {std::shared_ptr<arrow:: > Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; > >> > __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’ > >> > /usr/include/c++/7/bits/shared_ptr_base.h:1295:35: required from > >> > ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, > >> const > >> > _Alloc&, _Args&& ...) [with _Alloc = std::allocator<arrow::Table>; > _Args > >> = > >> > {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; _Tp = > arrow::Table; > >> > __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’ > >> > /usr/include/c++/7/bits/shared_ptr.h:344:64: required from > >> > ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const > >> _Alloc&, > >> > _Args&& ...) [with _Alloc = std::allocator<arrow::Table>; _Args = > >> > {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}; _Tp = > >> arrow::Table]’ > >> > /usr/include/c++/7/bits/shared_ptr.h:690:14: required from > >> > ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) > >> > [with _Tp = arrow::Table; _Alloc = std::allocator<arrow::Table>; > _Args = > >> > {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}]’ > >> > /usr/include/c++/7/bits/shared_ptr.h:706:39: required from > >> > ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = > >> > arrow::Table; _Args = {std::shared_ptr<arrow::Schema>&, > >> > std::vector<std::shared_ptr<arrow::Column>, > >> > std::allocator<std::shared_ptr<arrow::Column> > >&}]’ > >> > /home/sandeep/utils/FILE_FORMAT/parquet-cpp/src/ > >> parquet/arrow/reader.cc:434:49: > >> > required from here > >> > /usr/include/c++/7/ext/new_allocator.h:136:4: error: invalid > >> new-expression > >> > of abstract class type ‘arrow::Table’ > >> > { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > In file included from /usr/local/include/arrow/api.h:31:0, > >> > from > >> > /home/sandeep/utils/FILE_FORMAT/parquet-cpp/src/ > >> parquet/arrow/reader.cc:30: > >> > /usr/local/include/arrow/table.h:117:46: note: because the > following > >> > virtual functions are pure within ‘arrow::Table’: > >> > class ARROW_EXPORT Table { > >> > ^ > >> > /usr/local/include/arrow/table.h:149:35: note: virtual > >> > std::shared_ptr<arrow::Column> arrow::Table::column(int) const > >> > virtual std::shared_ptr<Column> column(int i) const = 0; > >> > ^~~~~~ > >> > /usr/local/include/arrow/table.h:152:18: note: virtual arrow::Status > >> > arrow::Table::RemoveColumn(int, std::shared_ptr<arrow::Table>*) const > >> > virtual Status RemoveColumn(int i, std::shared_ptr<Table>* out) > const > >> = > >> > 0; > >> > ^~~~~~~~~~~~ > >> > /usr/local/include/arrow/table.h:155:18: note: virtual arrow::Status > >> > arrow::Table::AddColumn(int, const std::shared_ptr<arrow::Column>&, > >> > std::shared_ptr<arrow::Table>*) const > >> > virtual Status AddColumn(int i, const std::shared_ptr<Column>& > column, > >> > ^~~~~~~~~ > >> > /usr/local/include/arrow/table.h:163:34: note: virtual > >> > std::shared_ptr<arrow::Table> arrow::Table:: > ReplaceSchemaMetadata(const > >> > std::shared_ptr<const arrow::KeyValueMetadata>&) const > >> > virtual std::shared_ptr<Table> ReplaceSchemaMetadata( > >> > ^~~~~~~~~~~~~~~~~~~~~ > >> > /usr/local/include/arrow/table.h:167:18: note: virtual arrow::Status > >> > arrow::Table::Validate() const > >> > virtual Status Validate() const = 0; > >> > ^~~~~~~~ > >> > CMakeFiles/parquet_objlib.dir/build.make:124: recipe for target > >> > 'CMakeFiles/parquet_objlib.dir/src/parquet/arrow/reader.cc.o' failed > >> > make[2]: *** [CMakeFiles/parquet_ob/jlib. > dir/src/parquet/arrow/reader. > >> cc.o] > >> > Error 1 > >> > CMakeFiles/Makefile2:462: recipe for target > >> > 'CMakeFiles/parquet_objlib.dir/all' failed > >> >
