RevolutionAnalytics / RHadoop

RHadoop

Home Page:https://github.com/RevolutionAnalytics/RHadoop/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem installing rhbase through R after Thrift setup (Ubuntu 18.04)

K5qu4r3d opened this issue · comments

commented

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 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;
  • 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 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