braft icon indicating copy to clipboard operation
braft copied to clipboard

编译Braft错误

Open liujp opened this issue 2 years ago • 4 comments

编译 brpc成功; braft 版本: 1.1.2; brpc 版本:1.0.0 但是编译braft的时候,报错: /data1/braft/incubator-brpc-1.0.0/build/output/lib/libbrpc.a(thrift_protocol.cpp.o): In function brpc::policy::ReadThriftException(butil::IOBuf const&, apache::thrift::TApplicationException*)': /data1/braft/incubator-brpc-1.0.0/src/brpc/policy/thrift_protocol.cpp:178: undefined reference to apache::thrift::TApplicationException::read(apache::thrift::protocol::TProtocol*)' /data1/braft/incubator-brpc-1.0.0/build/output/lib/libbrpc.a(thrift_protocol.cpp.o): In function brpc::policy::ThriftClosure::DoRun()': /data1/braft/incubator-brpc-1.0.0/src/brpc/policy/thrift_protocol.cpp:289: undefined reference to apache::thrift::TApplicationException::write(apache::thrift::protocol::TProtocol*) const' /data1/braft/incubator-brpc-1.0.0/build/output/lib/libbrpc.a(thrift_protocol.cpp.o): In function apache::thrift::transport::TMemoryBuffer::TMemoryBuffer(unsigned char*, unsigned int, apache::thrift::transport::TMemoryBuffer::MemoryPolicy)': /usr/include/thrift/transport/TBufferTransports.h:533: undefined reference to vtable for apache::thrift::transport::TMemoryBuffer' /data1/braft/incubator-brpc-1.0.0/build/output/lib/libbrpc.a(thrift_protocol.cpp.o): In function boost::detail::sp_if_not_array<apache::thrift::transport::TMemoryBuffer>::type boost::make_shared<apache::thrift::transport::TMemoryBuffer>()': /usr/include/thrift/transport/TBufferTransports.h:509: undefined reference to vtable for apache::thrift::transport::TMemoryBuffer' collect2: error: ld returned 1 exit status make[2]: *** [output/bin/braft_cli] Error 1 make[1]: *** [tools/CMakeFiles/braft_cli.dir/all] Error 2 make: *** [all] Error 2

liujp avatar Mar 14 '22 04:03 liujp

我遇到相同的错误,我将brpc版本从1.1.2还到0.9.7解决

Zrealshadow avatar Apr 11 '22 05:04 Zrealshadow

这个看着是thrift依赖的问题

PFZheng avatar Apr 11 '22 05:04 PFZheng

我使用brpc 1.1.2 编译时加上 --with-thrift选项, 同时将 thrift 版本按照brpc要求调整到1.1.0 依旧会出现 上述问题.

最后还是将brpc版本调整到0.9.7才可以正常编译braft

Zrealshadow avatar Apr 11 '22 06:04 Zrealshadow

完整的Log 可以参看 issue

Zrealshadow avatar Apr 11 '22 07:04 Zrealshadow