Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
K5qu4r3d opened this issue Apr 28, 2019 · 1 comment
Open

Comments

@K5qu4r3d
Copy link

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!

@dodina
Copy link

dodina commented Oct 5, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants