caffe编译错误记录
1. caffe.pb.h丢失问题
错误代码如图:

zhuoshi@zhuoshi-SYS-7048GR-TR:~/ZSZT/Geoffrey/caffe/caffe-master$ make all –j8
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/layer.cpp
In file included from ./include/caffe/common.hpp:19:0,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layer.hpp:8,
from src/caffe/layer.cpp:1:
./include/caffe/util/device_alternate.hpp:34:23: fatal error: cublas_v2.h: No such file or directory
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/layer.o' failed
make: *** [.build_release/src/caffe/layer.o] Error 1
解决方法
解决办法参考这个博客:http://blog.csdn.net/xmzwlw/article/details/48270225, 用protoc从caffe/src/caffe/proto/caffe.proto生成caffe.pb.h和caffe.pb.cc.
但是有个问题需要注意,此处不能使用'~', 而要使用完整路径

2. 未定义的引用, undefined reference to 'cblas_scopy'

参考这篇博客,https://blog.csdn.net/sdlypyzq/article/details/85237512, 的确是搞笑, 我也在open后面多了个空格,去掉就可以了.

3. Protobuf 错误
报错内容: PROTOC (python) src/caffe/proto/caffe.proto python/caffe/_caffe.cpp:1:52: fa
原因: caffe自带的requirement.txt内容如下, 只规定protobuf>=2.5.0, 并没有规定上限,所以我直接conda install protobuf导致版本过高

解决方法:
conda install protobuf=3.2
更新时间: 2019/06/10
4. libcblas.a错误

在cmake后, 修改build文件夹下的CMakeCache.txt

5. 为定义的引用libopencv_highgui.so.2.4.9

解决办法:用sudo su, 参考自链接
6. FlagRegisterer问题

解决办法:重新安装 GLog & GFlags 的安装
1)安装 GFlags
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC ..
make -j4
sudo make install
2)安装 GLog:
git clone https://github.com/google/glog
cd glog
./autogen.sh
./configure CPPFLAGS="-I/usr/local/include -fPIC" LDFLAGS="-L/usr/local/lib"
make -j8
sudo make install
7. pycaffe找不到Python.h文件
添加环境变量即可
export CPLUS_INCLUDE_PATH="/opt/anaconda/envs/caffe_27/include/python2.7:$CPLUS_INCLUDE_PATH"

8. gflags命名空间问题

/home/geoffrey/caffe/include/caffe/common.hpp(31): error: "gflags" has already been declared in the current scope,
可以修改这个地方, 进行注释:
// #ifndef GFLAGS_GFLAGS_H_
namespace gflags = google;
// #endif // GFLAGS_GFLAGS_H_
具体参考: stackoverflow
9. __builtin_is_constant_evaluated未定义
报错内容:/usr/include/c++/9.1.0/bits/stl_function.h(437): error: identifier "__builtin_is_constant_evaluated" is undefined
更新时间:2019.07.17

原因, gcc版本太高,我的是系统滚动更新的gcc9.1版本, 换成gcc6好了.
对于cmake指定gcc和g++版本方法:
SET(CMAKE_C_COMPILER /usr/bin/gcc-6)
SET(CMAKE_CXX_COMPILER /usr/bin/g++-6)
10. error: token ""CUDACC_VER is no longer supported

解决办法, https://github.com/BVLC/caffe/issues/5994, upgrade boost from 1.62 to 1.65,
conda install boost=1.65
conda install boost-cpp=1.65
11. /usr/include/c++/9.2.0/bits/stl_function.h(437): 未定义"__builtin_is_constant_evaluated"
更新时间: 2019/11/07
原因: gcc版本太高,如图,cuda只支持8以下版本:
解决办法:
指定一个低版本gcc,g++:
caffe编译错误记录的更多相关文章
- C++ 编译错误记录
C++ _ZSt28__throw_bad_array_new_lengthv1 编译错误 出现场景:类似代码 vector<vector<int>> grid = {{1, ...
- VeloView源码编译错误记录——VS manifest
编译环境 Win7 Visual Studio 2008 Win32 VeloView依赖关系 1)底层 Python Qt pcap boost eigen 2)中层 liblas: boost P ...
- Maven编译错误记录:Some Enforcer rules have failed
一.错误信息 添加httpclient与httpcore依赖后编译Maven报错. 错误信息如下: Failed to execute goal org.apache.maven.plugins:ma ...
- Unity 编译错误记录
1. 相关代码: NetworkView.RPC ("ReceiveMessage", RPCMode.All, message); 编译输出: Assets/cs/ClientC ...
- cocos2dx 中文路径编译错误记录
'/Q' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1> 'y' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1>C:\Program Files ...
- Caffe 工程的一些编译错误以及解决方案
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51371936 整理一下最近遇到caff ...
- 记录一次使用VS2015编译错误的原因查找(boost+gdal)
编译错误说明 在一个解决方案中的项目A中使用到了boost,完全没有问题.在项目B中也使用了boost库,编译的时候就产生了一堆错误. 原因查找 两个项目通过对比,唯一的不同就是项目B使用了gdal库 ...
- ubuntu16.04, Matlab2016b caffe编译安装
在Ubuntu上编译安装caffe还是个比较蛋疼的事,有时候会莫名其妙的碰到很多库的问题,这篇文章就把我在Ubuntu上编译安装caffe的过程和遇到的问题大致记录一下. 1.安装opencv htt ...
- 开发错误记录8:Unable to instantiate application com
开发错误记录8:Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication 这是因为在And ...
随机推荐
- I/O模型系列之一:Linux I/O模型基本概念
1. IO模型矩阵 基本 Linux I/O 模型的简单矩阵: 同步与异步:描述的是用户线程与内核的交互方式. 同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞! 同步是指用户线程发起IO请 ...
- 异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“Office, Version=7.0.3300.0,
导出Excel程序调试起来很正常,发布到服务器上却出错. 错误:未能加载文件或程序集“Office, Version=2.2.0.0, Culture=neutral, PublicKeyToken= ...
- MySql存储过程 CURSOR循环
游标 游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力. 使用步骤 声明一个游标: declare 游标名称 CU ...
- MySQL巧建sum索引帮我们提高至少100%的效率
有两个表,表a CREATE TABLE `a` ( `id` mediumint() unsigned NOT NULL AUTO_INCREMENT, `fid` ) unsigned ', `c ...
- C# NPOI 操作Excel 案例
1.加入NPOI 程序集,使用nuget添加程序集 2.引用NPOI程序集 private IWorkbook ExportExcel(PrintQuotationOrderViewModel mod ...
- spark基础知识(1)
一.大数据架构 并发计算: 并行计算: 很少会说并发计算,一般都是说并行计算,但是并行计算用的是并发技术.并发更偏向于底层.并发通常指的是单机上的并发运行,通过多线程来实现.而并行计算的范围更广,他是 ...
- es集群数据库~运维相关
一 数据同步方案 1 ES-JDBC 不能实现删除同步操作.MYSQL如果删除,ES不会删除 2 logstash-input-jdbc 能实现insert update,但是仍然不能实现删除 ...
- sqli注入--利用information_schema配合双查询报错注入
目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列 ...
- core ML学习
Core ML工具是一个Python包(coremltools),托管在Python包索引(PyPI)上. 从表格中可看出,支持caffe工具. 使用与模型的第三方工具相对应的Core ML转换器转换 ...
- router-link 返回上页 和 新窗口打开链接
1.如果使用了Vue-router的话,就可以用 this.$router.go(-1) 实现返回: 2.如果没使用vue-router,就可以用 window.history.go(-1) 实现返回 ...


