ubuntu系统版本更新(4.10.0-35-generic)导致gem5安装报错protoc版本需更新

来源:互联网 发布:java多线程挂起和阻塞 编辑:程序博客网 时间:2024/06/05 10:38

最近ubuntu系统更新,导致之前安装好的软件不能使用。解决办法。
1. 关闭自动更新:
设置—-系统设置—-软件和更新—更新—自动检测更新(设置为“从不”)
2.gem5在编译的时候报错描述:

  [     CXX] X86/mem/probes/mem_trace.cc -> .oIn file included from build/X86/mem/probes/mem_trace.cc:46:0:build/X86/proto/packet.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is  ^build/X86/proto/packet.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers.  Please update  ^build/X86/proto/packet.pb.h:14:2: error: #error your headers. #error your headers.  ^build/X86/proto/packet.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directorycompilation terminated.scons: *** [build/X86/mem/probes/mem_trace.o] Error 1scons: building terminated because of errors.

提示是要更新protoc版本。
执行指令:protoc –version
版本2..
需要更新成最新的版本3.4.*
3. 网上查询更新
sudo apt-get install libprotobuf-dev protobuf-compiler
或者
conda install protobuf
显示:
libprotobuf-dev:版本2.*
protobuf-compiler:2.*
protoc -version 却是3.*
重新编译gem5还是报错。网上说是需要把conda的路径加到gem5安装依赖包的搜索路径里,这里没有尝试。而是选择下载最新版本的protobuf-cpp-3.4.1.tar.gz进行安装,具体安装步骤参考:
http://www.linuxdiyf.com/linux/23425.html
http://blog.csdn.net/twilightdream/article/details/72953338
或者https://github.com/google/protobuf/blob/master/src/README.md
https://github.com/google/protobuf/releases 软件包下载
最后查看:protoc 变成:3.4了。
再次安装gem5 ,成功!

* 注意:中间尝试了很多种版本的gem5安装包,但都不行,不同版本的安装包,所依赖的包版本也是不一样的,在做实验的时候要注意系统版本问题和软件版本问题。*

参考博客:
http://blog.csdn.net/ahbbshenfeng/article/details/52065676
http://blog.csdn.net/elysion122/article/details/64523339

原创粉丝点击