error while compiling scribe2.2 with thrift 0.7.0 on ubuntu lucid and maverick
-
09-03-2021 - |
Frage
I am getting following error while compiling scribe server on ubuntu.
In file included from store.cpp:27:
scribe_server.h:45: error: conflicting return type specified for ‘virtual scribe::thrift::ResultCode scribeHandler::Log(const std::vector<scribe::thrift::LogEntry, std::allocator<scribe::thrift::LogEntry> >&)’
../src/gen-cpp/scribe.h:18: error: overriding ‘virtual scribe::thrift::ResultCode::type scribe::thrift::scribeIf::Log(const std::vector<scribe::thrift::LogEntry, std::allocator<scribe::thrift::LogEntry> >&)’
store.cpp: In member function ‘virtual bool ThriftFileStore::openInternal(bool, tm*)’
I am using scribe 2.2 with thrift 0.7.0 There were no errors while installing thrift.
Also I read in one post that this error is encountered while using older versions of thrift. But I am using latest version of thrift.
Keine korrekte Lösung
Andere Tipps
Seems to be a problem from thrift.
Solution: use thrift stable version
Copying literally Ying-Yi Liang words:
"I think this issue has something to do with a recent change in thrift (the git dev version). For a thrift snippet like: enum X { ... } X foo(); thrift used to generate this prototype for foo: X foo(); but now it generates "X::type foo();", resulting in the error you encountered."
answered here: http://groups.google.com/group/scribe-server/msg/b17bda3b80706558