Hi all,
We are using grpc as communication protocol path and also braft (brpc) as consensus protocol in our project. Both grpc and brpc are using protobuf and protoc library with different version of protoc (3.0.0 for grpc and 3.15.8 for brpc). I read on some SO thread that we need to use the latest protoc lib for compatibility between both brpc and grpc and removed the order version of protoc using "apt-get remove libprotobuf-dev". Has anyone tried using grpc and brpc in the same environment and faced any issues building both together?
/usr/local/bin/protoc --version (libprotoc 3.15.8)
/usr/bin/protoc --version (libprotoc 3.0.0)
ERROR during application build:
make -C raft_proto
g++ -DFLUIDOS_CONFIG='"/home/vagrant/ibofscaleout/cluster_manager_ldu/config/fluidos.cfg"' -g -Wall -Wno-register -O2 -std=c++17 -DIBOFOS_CONFIG='"/home/vagrant/ibofscaleout/cluster_manager_ldu/config/ibofos.conf"' -DNDEBUG -c -o generated/cpp/raft.pb.o generated/cpp/raft.pb.cc
make -C src cmgr
Compiling [hresource.cpp]...
Compiling [sresource.cpp]...
In file included from /usr/include/braft/raft.h:30:0,
from /home/vagrant/ibofscaleout/cluster_manager_ldu/src/common/lib/config_manager.h:9,
from hresource.cpp:11:
/usr/include/braft/enum.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^~~~~
/usr/include/braft/enum.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers. Please
^~~~~
/usr/include/braft/enum.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.