首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Protobuf版本错配

Protobuf版本错配
EN

Stack Overflow用户
提问于 2017-10-08 05:39:05
回答 4查看 38.4K关注 0票数 8

我目前正在使用tensorflow中的RNN获取此错误:

此程序需要协议缓冲区运行时库的3.3.0版本,但已安装的版本为2.6.1。请更新你的图书馆。如果您自己编译了该程序,请确保您的头来自与链接时间库相同版本的协议缓冲区。(版本验证在"bazel-out/local_linux-opt/genfiles/tensorflow/contrib/tensor_forest/proto/fertile_stats.pb.cc".)中失败在引发'google::protobuf::FatalException‘实例后调用终止 what():该程序需要协议缓冲区运行时库的3.3.0版本,但已安装的版本为2.6.1。请更新你的图书馆。如果您自己编译了该程序,请确保您的头来自与链接时间库相同版本的协议缓冲区。(版本验证在"bazel-out/local_linux-opt/genfiles/tensorflow/contrib/tensor_forest/proto/fertile_stats.pb.cc".)中失败

但当我查看版本时:

代码语言:javascript
复制
$ pip show protobuf
Name: protobuf
Version: 3.4.0
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: protobuf@googlegroups.com
Author-email: protobuf@googlegroups.com
License: 3-Clause BSD License
Location: /usr/local/lib/python2.7/dist-packages
Requires: six, setuptools
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-10-10 06:55:34

您可能安装了两个不同版本的protobuf。检查

protoc --version

如果它与3.4.0不同。您可能需要卸载它。

票数 7
EN

Stack Overflow用户

发布于 2022-01-01 16:26:56

按照以下步骤执行:

代码语言:javascript
复制
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
cd protobuf-3.17.3 && \
mkdir build && \
cd build && \
cmake ../cmake && \
make && \
sudo make install && \

如果您收到以下cmake警告:

/usr/share/cmake-3.10/Modules/FindProtobuf.cmake:455 (消息)处的CMake警告: Protobuf编译器版本3.0.0不匹配库版本3.17.3调用堆栈(最近一次调用):CMakeLists.txt:6 (find_package)

然后按照以下命令操作:

代码语言:javascript
复制
sudo apt-get remove libprotobuf-dev

抑制cmake警告

代码语言:javascript
复制
find_package(Protobuf CONFIG REQUIRED)
票数 1
EN

Stack Overflow用户

发布于 2018-05-23 06:37:36

猜测您正在使用不同的libs链接一个c++程序。如果这些库是使用不同版本的protobuf构建的,就会导致这个问题。使用相同版本的protobuf重新构建所有的库(包括tf)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46627874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档