Hi,
Im trying to build the HiveODBC driver. The hive source code base I'm
using is 0.8.0. Im following the instructions from
https://cwiki.apache.org/Hive/hiveodbc.html. Basically , I had to build
thrift/thrift-fb303 on my own and Im running the ant build command as
ant compile-cpp -Dthrift.home=<my_install_dir>
But I get the error
[exec] In file included from
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:6:
[exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h:9084:
warning: direct base ‘apache::thrift::TProcessor’ inaccessible in
‘Apache::Hadoop::Hive::ThriftHiveMetastoreProcessor’ due to ambiguity
[exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:
In member function ‘virtual bool
Apache::Hadoop::Hive::ThriftHiveMetastoreProcessor::process_fn(apache::thrift::protocol::TProtocol*,
apache::thrift::protocol::TProtocol*, std::string&, int32_t, void*)’:
[exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:18554:
error: ‘process_fn’ is not a member of
‘facebook::fb303::FacebookServiceProcessor’
[exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:
In member function ‘void
Apache::Hadoop::Hive::ThriftHiveMetastoreProcessor::process_create_database(int32_t,
apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*,
void*)’:
[exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:18563:
error: reference to ‘eventHandler_’ is ambiguous
[exec] /home/sampd/dev/thrift_install/include/thrift/TProcessor.h:161:
error: candidates are:
boost::shared_ptr<apache::thrift::TProcessorEventHandler>
apache::thrift::TProcessor::eventHandler_
[exec] /home/sampd/dev/thrift_install/include/thrift/TProcessor.h:161:
error:
boost::shared_ptr<apache::thrift::TProcessorEventHandler>
apache::thrift::TProcessor::eventHandler_ [exec]
/home/sampd/git/hive/hive_su/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp:18563:
error: reference to ‘eventHandler_’ is ambiguous
........
.......
I tried with a couple of versions of Thrift , 0.9.0-dev and 0.5.0 . Neither
of them proved to be good. Has it got to do with the thrift library version
? Whats the fix. Any help is appreciated.
Thanks,
Sam William
[email protected]