Now, my program crash when creating nvurisrcbin, saying: [libprotobuf FATAL /tmp/grpc/third_party/protobuf/src/google/protobuf/stubs/common.cc:83] This program was compiled against version 3.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.19.4). Contact the program author for an update. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "google/protobuf/timestamp.pb.cc".)
This is quite confusing that i have no idea which libs use the 3.6.1 protobuf as library…
The call-stack that cause exception shows this, is there any way i can deal with this?
My program is not using nvmsgconv module yet, unless i linked it unintentionally;
I checked the protobuf in this container, it’s in /opt/tritonclient/ and /root/.local, both of which is 3.19.4(defined in google/protobuf/stub/common.h), so the triton client use the 3.19 version, including protoc, they are both 3.19 version
I used to suspect this was caused by the upgrade of cmake, but the container itself contains the 3.19 protobuf by default
From the call-stack info, this error happends when build the nvurisrcbin, i think some of the features (maybe SR or RESTFUL related?) use the old version of protobuf
I saw this problem was reported in this link before, but seems not helpful to me… link
I have some suggestions,You’d better use the trition version for include/protoc/lib to avoid the issues that other deepstream elements refer to different versions of the library. Do not use /root/.local/include to avoid problems caused by version changes
This means:
include : /opt/tritonclient/include/google/protobuf
protoc: /opt/proto/bin/protoc
lib: /opt/tritonclient/lib/libprotobuf.a
echo $PATH, Do these paths contain other versions of protoc? This problem is usually caused by protoc