An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.
Apache License 2.0
3.99k
stars
886
forks
source link
Build Error: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol() #355
[ 68%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/braft/snapshot_throttle.cpp.o
[ 71%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/braft/storage.cpp.o
[ 73%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/braft/util.cpp.o
[ 75%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/builtin_service.pb.cc.o
[ 77%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/cli.pb.cc.o
[ 80%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/enum.pb.cc.o
[ 82%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/errno.pb.cc.o
[ 84%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/file_service.pb.cc.o
[ 86%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/local_file_meta.pb.cc.o
[ 88%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/local_storage.pb.cc.o
[ 91%] Building CXX object src/CMakeFiles/OBJ_LIB.dir/__/braft/raft.pb.cc.o
[ 91%] Built target OBJ_LIB
[ 93%] Linking CXX shared library ../output/lib/libbraft.so
[ 93%] Built target braft-shared
[ 95%] Linking CXX static library ../output/lib/libbraft.a
[ 95%] Built target braft-static
[ 97%] Building CXX object tools/CMakeFiles/braft_cli.dir/braft_cli.cpp.o
[100%] Linking CXX executable ../output/bin/braft_cli
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocol::TProtocol(std::shared_ptr<apache::thrift::transport::TTransport>)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TProtocol.h:583: undefined reference to `vtable for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `brpc::policy::ReadThriftException(butil::IOBuf const&, apache::thrift::TApplicationException*)':
/home/zreal/research/vcpkg/buildtrees/brpc/src/a1b8d7f990-fc2e8574c2.clean/src/brpc/policy/thrift_protocol.cpp:177: undefined reference to `apache::thrift::TApplicationException::read(apache::thrift::protocol::TProtocol*)'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TMemoryBuffer::TMemoryBuffer()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:506: undefined reference to `vtable for apache::thrift::transport::TMemoryBuffer'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocol::TProtocol(std::shared_ptr<apache::thrift::transport::TTransport>)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TProtocol.h:583: undefined reference to `vtable for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocol::TProtocol(std::shared_ptr<apache::thrift::transport::TTransport>)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TProtocol.h:583: undefined reference to `vtable for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TMemoryBuffer::TMemoryBuffer()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:506: undefined reference to `vtable for apache::thrift::transport::TMemoryBuffer'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocol::TProtocol(std::shared_ptr<apache::thrift::transport::TTransport>)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TProtocol.h:583: undefined reference to `vtable for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TMemoryBuffer::TMemoryBuffer()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:506: undefined reference to `vtable for apache::thrift::transport::TMemoryBuffer'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocol::TProtocol(std::shared_ptr<apache::thrift::transport::TTransport>)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TProtocol.h:583: undefined reference to `vtable for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `brpc::policy::ThriftClosure::DoRun()':
/home/zreal/research/vcpkg/buildtrees/brpc/src/a1b8d7f990-fc2e8574c2.clean/src/brpc/policy/thrift_protocol.cpp:288: undefined reference to `apache::thrift::TApplicationException::write(apache::thrift::protocol::TProtocol*) const'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults()':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: undefined reference to `apache::thrift::protocol::TProtocol::~TProtocol()'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o):/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/protocol/TVirtualProtocol.h:42: more undefined references to `apache::thrift::protocol::TProtocol::~TProtocol()' follow
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TMemoryBuffer::TMemoryBuffer(unsigned char*, unsigned int, apache::thrift::transport::TMemoryBuffer::MemoryPolicy)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:526: undefined reference to `vtable for apache::thrift::transport::TMemoryBuffer'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TTransportException::TTransportException(apache::thrift::transport::TTransportException::TTransportExceptionType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransportException.h:63: undefined reference to `vtable for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TMemoryBuffer::TMemoryBuffer(unsigned char*, unsigned int, apache::thrift::transport::TMemoryBuffer::MemoryPolicy)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:543: undefined reference to `typeinfo for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TTransportException::TTransportException(apache::thrift::transport::TTransportException::TTransportExceptionType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransportException.h:63: undefined reference to `vtable for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `unsigned int apache::thrift::transport::readAll<apache::thrift::transport::TBufferBase>(apache::thrift::transport::TBufferBase&, unsigned char*, unsigned int)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransport.h:43: undefined reference to `typeinfo for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TTransportException::TTransportException(apache::thrift::transport::TTransportException::TTransportExceptionType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransportException.h:63: undefined reference to `vtable for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TBufferBase::consume(unsigned int)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:126: undefined reference to `typeinfo for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TTransportException::TTransportException(apache::thrift::transport::TTransportException::TTransportExceptionType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransportException.h:63: undefined reference to `vtable for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TBufferBase::consume(unsigned int)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:126: undefined reference to `typeinfo for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TTransportException::TTransportException(apache::thrift::transport::TTransportException::TTransportExceptionType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TTransportException.h:63: undefined reference to `vtable for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o): in function `apache::thrift::transport::TBufferBase::consume(unsigned int)':
/home/zreal/research/vcpkg/installed/x64-linux/include/thrift/transport/TBufferTransports.h:126: undefined reference to `typeinfo for apache::thrift::transport::TTransportException'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o):(.data.rel.ro._ZTIN6apache6thrift8protocol17TProtocolDefaultsE[_ZTIN6apache6thrift8protocol17TProtocolDefaultsE]+0x10): undefined reference to `typeinfo for apache::thrift::protocol::TProtocol'
/usr/bin/ld: /home/zreal/research/vcpkg/packages/brpc_x64-linux/lib/libbrpc.a(thrift_protocol.cpp.o):(.data.rel.ro._ZTVN6apache6thrift8protocol17TProtocolDefaultsE[_ZTVN6apache6thrift8protocol17TProtocolDefaultsE]+0x170): undefined reference to `apache::thrift::protocol::TProtocol::skip_virt(apache::thrift::protocol::TType)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/CMakeFiles/braft_cli.dir/build.make:107: output/bin/braft_cli] Error 1
make[1]: *** [CMakeFiles/Makefile2:198: tools/CMakeFiles/braft_cli.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Print Log
The cmake process show it has completed 100%