Open K5qu4r3d opened 5 years ago
I got this C++-related error when doing
sudo R CMD INSTALL rhbase_1.2.1.tar.gz
:$ sudo R CMD INSTALL rhbase_1.2.1.tar.gz * installing to library ‘/usr/local/lib/R/site-library’ * installing *source* package ‘rhbase’ ... ** using staged installation ** libs g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I. -g -DHAVE_UINTPTR_T -DHAVE_NETDB_H=1 -fpermissive -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -I./gen_cpp `pkg-config --cflags thrift` -Wall -fpic -g -O2 -fdebug-prefix-map=/build/r-base-VAQCff/r-base-3.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c Hbase.cpp -o Hbase.o In file included from Hbase.cpp:7:0: Hbase.h:80:30: error: field ‘iface_’ has incomplete type ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ boost::shared_ptr<HbaseIf> iface_; ^~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h:5438:61: error: field ‘piprot_’ has incomplete type ‘boost::shared_ptr<apache::thrift::protocol::TProtocol>’ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_; ^~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h:5439:61: error: field ‘poprot_’ has incomplete type ‘boost::shared_ptr<apache::thrift::protocol::TProtocol>’ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_; ^~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In constructor ‘apache::hadoop::hbase::thrift::HbaseClient::HbaseClient(boost::shared_ptr<apache::thrift::protocol::TProtocol>)’: Hbase.h:5302:73: error: ‘prot’ has incomplete type HbaseClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) : ^~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In constructor ‘apache::hadoop::hbase::thrift::HbaseClient::HbaseClient(boost::shared_ptr<apache::thrift::protocol::TProtocol>, boost::shared_ptr<apache::thrift::protocol::TProtocol>)’: Hbase.h:5308:73: error: ‘iprot’ has incomplete type HbaseClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) : ^~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h:5308:138: error: ‘oprot’ has incomplete type HbaseClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) : ^~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In member function ‘boost::shared_ptr<apache::thrift::protocol::TProtocol> apache::hadoop::hbase::thrift::HbaseClient::getInputProtocol()’: Hbase.h:5314:80: error: return type ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ is incomplete boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() { ^ Hbase.h: In member function ‘boost::shared_ptr<apache::thrift::protocol::TProtocol> apache::hadoop::hbase::thrift::HbaseClient::getOutputProtocol()’: Hbase.h:5317:81: error: return type ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ is incomplete boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() { ^ Hbase.h: At global scope: Hbase.h:5446:30: error: field ‘iface_’ has incomplete type ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ boost::shared_ptr<HbaseIf> iface_; ^~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In constructor ‘apache::hadoop::hbase::thrift::HbaseProcessor::HbaseProcessor(boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>)’: Hbase.h:5490:45: error: ‘iface’ has incomplete type HbaseProcessor(boost::shared_ptr<HbaseIf> iface) : ^~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: At global scope: Hbase.h:5545:41: error: field ‘handlerFactory_’ has incomplete type ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIfFactory>’ ::boost::shared_ptr< HbaseIfFactory > handlerFactory_; ^~~~~~~~~~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIfFactory>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h:5542:55: error: invalid covariant return type for ‘virtual boost::shared_ptr<apache::thrift::TProcessor> apache::hadoop::hbase::thrift::HbaseProcessorFactory::getProcessor(const apache::thrift::TConnectionInfo&)’ ::boost::shared_ptr< ::apache::thrift::TProcessor > getProcessor(const ::apache::thrift::TConnectionInfo& connInfo); ^~~~~~~~~~~~ In file included from Hbase.h:10:0, from Hbase.cpp:7: /usr/local/include/thrift/TProcessor.h:215:42: error: overriding ‘virtual std::shared_ptr<apache::thrift::TProcessor> apache::thrift::TProcessorFactory::getProcessor(const apache::thrift::TConnectionInfo&)’ virtual stdcxx::shared_ptr<TProcessor> getProcessor(const TConnectionInfo& connInfo) = 0; ^~~~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In member function ‘void apache::hadoop::hbase::thrift::HbaseMultiface::add(boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>)’: Hbase.h:5556:39: error: ‘iface’ has incomplete type void add(boost::shared_ptr<HbaseIf> iface) { ^~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from Hbase.cpp:7:0: Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::enableTable(const Bytes&)’: Hbase.h:5563:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->enableTable(tableName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::disableTable(const Bytes&)’: Hbase.h:5570:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->disableTable(tableName); ^~ Hbase.h: In member function ‘virtual bool apache::hadoop::hbase::thrift::HbaseMultiface::isTableEnabled(const Bytes&)’: Hbase.h:5578:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->isTableEnabled(tableName); ^~ Hbase.h:5580:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->isTableEnabled(tableName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::compact(const Bytes&)’: Hbase.h:5588:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->compact(tableNameOrRegionName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::majorCompact(const Bytes&)’: Hbase.h:5595:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->majorCompact(tableNameOrRegionName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getTableNames(std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5603:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getTableNames(_return); ^~ Hbase.h:5606:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getTableNames(_return); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getColumnDescriptors(std::map<std::__cxx11::basic_string<char>, apache::hadoop::hbase::thrift::ColumnDescriptor>&, const Text&)’: Hbase.h:5615:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getColumnDescriptors(_return, tableName); ^~ Hbase.h:5618:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getColumnDescriptors(_return, tableName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getTableRegions(std::vector<apache::hadoop::hbase::thrift::TRegionInfo>&, const Text&)’: Hbase.h:5627:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getTableRegions(_return, tableName); ^~ Hbase.h:5630:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getTableRegions(_return, tableName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::createTable(const Text&, const std::vector<apache::hadoop::hbase::thrift::ColumnDescriptor>&)’: Hbase.h:5638:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->createTable(tableName, columnFamilies); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::deleteTable(const Text&)’: Hbase.h:5645:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->deleteTable(tableName); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::get(std::vector<apache::hadoop::hbase::thrift::TCell>&, const Text&, const Text&, const Text&)’: Hbase.h:5653:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->get(_return, tableName, row, column); ^~ Hbase.h:5656:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->get(_return, tableName, row, column); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getVer(std::vector<apache::hadoop::hbase::thrift::TCell>&, const Text&, const Text&, const Text&, int32_t)’: Hbase.h:5665:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getVer(_return, tableName, row, column, numVersions); ^~ Hbase.h:5668:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getVer(_return, tableName, row, column, numVersions); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getVerTs(std::vector<apache::hadoop::hbase::thrift::TCell>&, const Text&, const Text&, const Text&, int64_t, int32_t)’: Hbase.h:5677:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getVerTs(_return, tableName, row, column, timestamp, numVersions); ^~ Hbase.h:5680:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getVerTs(_return, tableName, row, column, timestamp, numVersions); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRow(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const Text&)’: Hbase.h:5689:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRow(_return, tableName, row); ^~ Hbase.h:5692:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRow(_return, tableName, row); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowWithColumns(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5701:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowWithColumns(_return, tableName, row, columns); ^~ Hbase.h:5704:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowWithColumns(_return, tableName, row, columns); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowTs(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const Text&, int64_t)’: Hbase.h:5713:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowTs(_return, tableName, row, timestamp); ^~ Hbase.h:5716:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowTs(_return, tableName, row, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowWithColumnsTs(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, int64_t)’: Hbase.h:5725:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowWithColumnsTs(_return, tableName, row, columns, timestamp); ^~ Hbase.h:5728:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowWithColumnsTs(_return, tableName, row, columns, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRows(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5737:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRows(_return, tableName, rows); ^~ Hbase.h:5740:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRows(_return, tableName, rows); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowsWithColumns(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5749:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsWithColumns(_return, tableName, rows, columns); ^~ Hbase.h:5752:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsWithColumns(_return, tableName, rows, columns); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowsTs(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, int64_t)’: Hbase.h:5761:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsTs(_return, tableName, rows, timestamp); ^~ Hbase.h:5764:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsTs(_return, tableName, rows, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::getRowsWithColumnsTs(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&, int64_t)’: Hbase.h:5773:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsWithColumnsTs(_return, tableName, rows, columns, timestamp); ^~ Hbase.h:5776:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->getRowsWithColumnsTs(_return, tableName, rows, columns, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::mutateRow(const Text&, const Text&, const std::vector<apache::hadoop::hbase::thrift::Mutation>&)’: Hbase.h:5784:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->mutateRow(tableName, row, mutations); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::mutateRowTs(const Text&, const Text&, const std::vector<apache::hadoop::hbase::thrift::Mutation>&, int64_t)’: Hbase.h:5791:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->mutateRowTs(tableName, row, mutations, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::mutateRows(const Text&, const std::vector<apache::hadoop::hbase::thrift::BatchMutation>&)’: Hbase.h:5798:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->mutateRows(tableName, rowBatches); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::mutateRowsTs(const Text&, const std::vector<apache::hadoop::hbase::thrift::BatchMutation>&, int64_t)’: Hbase.h:5805:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->mutateRowsTs(tableName, rowBatches, timestamp); ^~ Hbase.h: In member function ‘virtual int64_t apache::hadoop::hbase::thrift::HbaseMultiface::atomicIncrement(const Text&, const Text&, const Text&, int64_t)’: Hbase.h:5813:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->atomicIncrement(tableName, row, column, value); ^~ Hbase.h:5815:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->atomicIncrement(tableName, row, column, value); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::deleteAll(const Text&, const Text&, const Text&)’: Hbase.h:5823:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->deleteAll(tableName, row, column); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::deleteAllTs(const Text&, const Text&, const Text&, int64_t)’: Hbase.h:5830:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->deleteAllTs(tableName, row, column, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::deleteAllRow(const Text&, const Text&)’: Hbase.h:5837:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->deleteAllRow(tableName, row); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::deleteAllRowTs(const Text&, const Text&, int64_t)’: Hbase.h:5844:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->deleteAllRowTs(tableName, row, timestamp); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpenWithScan(const Text&, const apache::hadoop::hbase::thrift::TScan&)’: Hbase.h:5852:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpenWithScan(tableName, scan); ^~ Hbase.h:5854:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpenWithScan(tableName, scan); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpen(const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5863:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpen(tableName, startRow, columns); ^~ Hbase.h:5865:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpen(tableName, startRow, columns); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpenWithStop(const Text&, const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5874:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpenWithStop(tableName, startRow, stopRow, columns); ^~ Hbase.h:5876:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpenWithStop(tableName, startRow, stopRow, columns); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpenWithPrefix(const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&)’: Hbase.h:5885:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpenWithPrefix(tableName, startAndPrefix, columns); ^~ Hbase.h:5887:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpenWithPrefix(tableName, startAndPrefix, columns); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpenTs(const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, int64_t)’: Hbase.h:5896:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpenTs(tableName, startRow, columns, timestamp); ^~ Hbase.h:5898:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpenTs(tableName, startRow, columns, timestamp); ^~ Hbase.h: In member function ‘virtual apache::hadoop::hbase::thrift::ScannerID apache::hadoop::hbase::thrift::HbaseMultiface::scannerOpenWithStopTs(const Text&, const Text&, const Text&, const std::vector<std::__cxx11::basic_string<char> >&, int64_t)’: Hbase.h:5907:26: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ return ifaces_[i]->scannerOpenWithStopTs(tableName, startRow, stopRow, columns, timestamp); ^~ Hbase.h:5909:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerOpenWithStopTs(tableName, startRow, stopRow, columns, timestamp); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::scannerGet(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, apache::hadoop::hbase::thrift::ScannerID)’: Hbase.h:5918:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerGet(_return, id); ^~ Hbase.h:5921:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerGet(_return, id); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::scannerGetList(std::vector<apache::hadoop::hbase::thrift::TRowResult>&, apache::hadoop::hbase::thrift::ScannerID, int32_t)’: Hbase.h:5930:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerGetList(_return, id, nbRows); ^~ Hbase.h:5933:19: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerGetList(_return, id, nbRows); ^~ Hbase.h: In member function ‘virtual void apache::hadoop::hbase::thrift::HbaseMultiface::scannerClose(apache::hadoop::hbase::thrift::ScannerID)’: Hbase.h:5941:17: error: base operand of ‘->’ has non-pointer type ‘__gnu_cxx::__alloc_traits<std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >::value_type {aka boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ ifaces_[i]->scannerClose(id); ^~ Hbase.cpp: In member function ‘virtual bool apache::hadoop::hbase::thrift::HbaseProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol>, boost::shared_ptr<apache::thrift::protocol::TProtocol>, void*)’: Hbase.cpp:11110:85: error: ‘piprot’ has incomplete type bool HbaseProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol> piprot, boost::shared_ptr<apache::thrift::protocol::TProtocol> poprot, void* callContext) { ^~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ Hbase.cpp:11110:148: error: ‘poprot’ has incomplete type bool HbaseProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol> piprot, boost::shared_ptr<apache::thrift::protocol::TProtocol> poprot, void* callContext) { ^~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::thrift::protocol::TProtocol>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ Hbase.cpp: In member function ‘virtual boost::shared_ptr<apache::thrift::TProcessor> apache::hadoop::hbase::thrift::HbaseProcessorFactory::getProcessor(const apache::thrift::TConnectionInfo&)’: Hbase.cpp:13393:138: error: return type ‘class boost::shared_ptr<apache::thrift::TProcessor>’ is incomplete ::boost::shared_ptr< ::apache::thrift::TProcessor > HbaseProcessorFactory::getProcessor(const ::apache::thrift::TConnectionInfo& connInfo) { ^ Hbase.cpp:13395:42: error: variable ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> handler’ has initializer but incomplete type ::boost::shared_ptr< HbaseIf > handler(handlerFactory_->getHandler(connInfo), cleanup); ^~~~~~~~~~~~~~~ Hbase.cpp:13396:64: error: variable ‘boost::shared_ptr<apache::thrift::TProcessor> processor’ has initializer but incomplete type ::boost::shared_ptr< ::apache::thrift::TProcessor > processor(new HbaseProcessor(handler)); ^ Hbase.cpp:13396:91: error: invalid new-expression of abstract class type ‘apache::hadoop::hbase::thrift::HbaseProcessor’ ::boost::shared_ptr< ::apache::thrift::TProcessor > processor(new HbaseProcessor(handler)); ^ In file included from Hbase.cpp:7:0: Hbase.h:5444:7: note: because the following virtual functions are pure within ‘apache::hadoop::hbase::thrift::HbaseProcessor’: class HbaseProcessor : public ::apache::thrift::TProcessor { ^~~~~~~~~~~~~~ In file included from Hbase.h:10:0, from Hbase.cpp:7: /usr/local/include/thrift/TProcessor.h:145:16: note: virtual bool apache::thrift::TProcessor::process(std::shared_ptr<apache::thrift::protocol::TProtocol>, std::shared_ptr<apache::thrift::protocol::TProtocol>, void*) virtual bool process(stdcxx::shared_ptr<protocol::TProtocol> in, ^~~~~~~ In file included from /usr/include/c++/7/vector:64:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_vector.h: In instantiation of ‘std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::size() const [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’: Hbase.h:5561:30: required from here /usr/include/c++/7/bits/stl_vector.h:671:50: error: invalid use of incomplete type ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:64:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_vector.h: In instantiation of ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::vector<_Tp, _Alloc>::reference = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]’: Hbase.h:5563:16: required from here /usr/include/c++/7/bits/stl_vector.h:798:34: error: invalid use of incomplete type ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ return *(this->_M_impl._M_start + __n); ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:64:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_vector.h: In instantiation of ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’: /usr/include/c++/7/bits/stl_vector.h:328:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/bits/stl_vector.h:163:9: error: invalid use of incomplete type ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - this->_M_impl._M_start); } ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:64:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_vector.h: In instantiation of ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int]’: /usr/include/c++/7/bits/stl_vector.h:138:26: required from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ /usr/include/c++/7/bits/stl_vector.h:328:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/bits/stl_vector.h:189:59: error: invalid use of incomplete type ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:63:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_uninitialized.h: In instantiation of ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*, std::vector<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >; _ForwardIterator = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*]’: /usr/include/c++/7/bits/stl_uninitialized.h:289:37: required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*, std::vector<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >; _ForwardIterator = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>]’ /usr/include/c++/7/bits/stl_vector.h:331:31: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/bits/stl_uninitialized.h:132:12: error: invalid use of incomplete type ‘std::__iterator_traits<__gnu_cxx::__normal_iterator<const boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*, std::vector<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >, void>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ && __is_trivial(_ValueType2) In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘std::__iterator_traits<__gnu_cxx::__normal_iterator<const boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*, std::vector<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> > >, void>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:63:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_uninitialized.h:132:12: error: invalid use of incomplete type ‘std::iterator_traits<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ && __is_trivial(_ValueType2) In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘std::iterator_traits<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ In file included from /usr/include/c++/7/vector:62:0, from /usr/local/include/thrift/Thrift.h:41, from /usr/local/include/thrift/transport/TTransport.h:23, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/bits/stl_construct.h: In instantiation of ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*]’: /usr/include/c++/7/bits/stl_construct.h:206:15: required from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>]’ /usr/include/c++/7/bits/stl_vector.h:434:22: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/bits/stl_construct.h:133:7: error: static assertion failed: value type is destructible static_assert(is_destructible<_Value_type>::value, ^~~~~~~~~~~~~ /usr/include/c++/7/bits/stl_construct.h:137:11: error: invalid use of incomplete type ‘std::iterator_traits<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __destroy(__first, __last); ~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from /usr/include/boost/throw_exception.hpp:42:0, from /usr/include/boost/numeric/conversion/converter_policies.hpp:16, from /usr/include/boost/numeric/conversion/converter.hpp:14, from /usr/include/boost/numeric/conversion/cast.hpp:33, from /usr/local/include/thrift/transport/TTransportException.h:23, from /usr/local/include/thrift/transport/TTransport.h:25, from /usr/local/include/thrift/protocol/TProtocol.h:28, from /usr/local/include/thrift/TProcessor.h:24, from Hbase.h:10, from Hbase.cpp:7: /usr/include/boost/exception/exception.hpp:19:44: note: declaration of ‘std::iterator_traits<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*>::value_type {aka class boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>}’ namespace boost { template <class T> class shared_ptr; }; ^~~~~~~~~~ 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/string:41, from /usr/local/include/thrift/TProcessor.h:23, from Hbase.h:10, from Hbase.cpp:7: /usr/include/c++/7/ext/new_allocator.h: In instantiation of ‘_Tp* __gnu_cxx::new_allocator<_Tp>::allocate(__gnu_cxx::new_allocator<_Tp>::size_type, const void*) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; __gnu_cxx::new_allocator<_Tp>::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; __gnu_cxx::new_allocator<_Tp>::size_type = long unsigned int]’: /usr/include/c++/7/bits/alloc_traits.h:436:32: required from ‘static _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, std::allocator_traits<std::allocator<_CharT> >::size_type) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; std::allocator_traits<std::allocator<_CharT> >::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::allocator_traits<std::allocator<_CharT> >::size_type = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:172:33: required from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::_Vector_base<_Tp, _Alloc>::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; std::size_t = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:187:33: required from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:138:26: required from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ /usr/include/c++/7/bits/stl_vector.h:328:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/ext/new_allocator.h:111:54: error: invalid application of ‘sizeof’ to incomplete type ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); ^ /usr/include/c++/7/ext/new_allocator.h: In instantiation of ‘__gnu_cxx::new_allocator<_Tp>::size_type __gnu_cxx::new_allocator<_Tp>::max_size() const [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; __gnu_cxx::new_allocator<_Tp>::size_type = long unsigned int]’: /usr/include/c++/7/ext/new_allocator.h:101:18: required from ‘_Tp* __gnu_cxx::new_allocator<_Tp>::allocate(__gnu_cxx::new_allocator<_Tp>::size_type, const void*) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; __gnu_cxx::new_allocator<_Tp>::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; __gnu_cxx::new_allocator<_Tp>::size_type = long unsigned int]’ /usr/include/c++/7/bits/alloc_traits.h:436:32: required from ‘static _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, std::allocator_traits<std::allocator<_CharT> >::size_type) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; std::allocator_traits<std::allocator<_CharT> >::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::allocator_traits<std::allocator<_CharT> >::size_type = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:172:33: required from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::_Vector_base<_Tp, _Alloc>::pointer = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>*; std::size_t = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:187:33: required from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int]’ /usr/include/c++/7/bits/stl_vector.h:138:26: required from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >; std::size_t = long unsigned int; std::_Vector_base<_Tp, _Alloc>::allocator_type = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ /usr/include/c++/7/bits/stl_vector.h:328:61: required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>; _Alloc = std::allocator<boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf> >]’ Hbase.h:5550:84: required from here /usr/include/c++/7/ext/new_allocator.h:130:35: error: invalid application of ‘sizeof’ to incomplete type ‘boost::shared_ptr<apache::hadoop::hbase::thrift::HbaseIf>’ { return size_t(-1) / sizeof(_Tp); } ^ /usr/lib/R/etc/Makeconf:176: recipe for target 'Hbase.o' failed make: *** [Hbase.o] Error 1 ERROR: compilation failed for package ‘rhbase’ * removing ‘/usr/local/lib/R/site-library/rhbase’
This error comes after having performed the following:
* installed the [prerequisite packages](https://thrift.apache.org/docs/install/debian) for Thrift; * downloaded Thrift (version 0.12.0 at the time of this writing) and saving the tarball file into `/home/<username>/Downloads`; * building its compiler from source using [this guide](https://thrift.apache.org/docs/BuildingFromSource); * setting the `PKG_CONFIG_PATH` environment variable in `~/.bashrc`; * `pkg-config --cflags` returned `-I/usr/local/include` instead of `-I/usr/local/include/thrift` for some reason so I modified the `usr/local/lib/pkgconfig/thrift.pc` file:
prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib #includedir=${prefix}/include # old includedir=${prefix}/include/thrift # new
* copied the `libthrift-0.12.0.so` file to directory `/usr/lib`
Any help would be appreciated!
I had the some problem too. I resolved with the thrift-0.9.3 package. The version 0.12.0 of thrift package is not compatible with rhbase 1.2.1.
best regards Diana
I got this C++-related error when doing
sudo R CMD INSTALL rhbase_1.2.1.tar.gz
:This error comes after having performed the following:
/home/<username>/Downloads
;PKG_CONFIG_PATH
environment variable in~/.bashrc
;pkg-config --cflags
returned-I/usr/local/include
instead of-I/usr/local/include/thrift
for some reason so I modified theusr/local/lib/pkgconfig/thrift.pc
file:libthrift-0.12.0.so
file to directory/usr/lib
Any help would be appreciated!