Caffe: failed in build caffe, when i run make.

Created on 6 Jun 2017  ·  2Comments  ·  Source: weiliu89/caffe

Issue summary

make -j8
PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/data_transformer.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/solvers/adagrad_solver.cpp
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/solvers/rmsprop_solver.cpp
CXX src/caffe/solvers/adam_solver.cpp
CXX src/caffe/solvers/adadelta_solver.cpp
CXX src/caffe/solvers/nesterov_solver.cpp
In file included from src/caffe/solvers/sgd_solver.cpp:7:0:
./include/caffe/util/io.hpp:192:40: error: ‘AnnotatedDatum_AnnotationType’ does not name a type
const std::string& encoding, const AnnotatedDatum_AnnotationType type,
^
./include/caffe/util/io.hpp:194:5: error: ‘AnnotatedDatum’ has not been declared
AnnotatedDatum* anno_datum);
^
./include/caffe/util/io.hpp:199:11: error: ‘AnnotatedDatum_AnnotationType’ does not name a type
const AnnotatedDatum_AnnotationType type, const string& labeltype,
^
./include/caffe/util/io.hpp:200:49: error: ‘AnnotatedDatum’ has not been declared
const std::map& name_to_label, AnnotatedDatum* anno_datum) {
^
./include/caffe/util/io.hpp:208:5: error: ‘AnnotatedDatum’ has not been declared
AnnotatedDatum* anno_datum);
^
./include/caffe/util/io.hpp:212:5: error: ‘AnnotatedDatum’ has not been declared
AnnotatedDatum* anno_datum);
^
./include/caffe/util/io.hpp:215:22: error: ‘AnnotatedDatum’ has not been declared
const int width, AnnotatedDatum* anno_datum);
^
./include/caffe/util/io.hpp:218:30: error: ‘LabelMap’ has not been declared
const string& delimiter, LabelMap* map);
^
./include/caffe/util/io.hpp:221:32: error: ‘LabelMap’ has not been declared
bool include_background, LabelMap* map) {
^
./include/caffe/util/io.hpp:225:61: error: ‘LabelMap’ has not been declared
inline bool ReadLabelFileToLabelMap(const string& filename, LabelMap* map) {
^
./include/caffe/util/io.hpp:229:27: error: ‘LabelMap’ does not name a type
bool MapNameToLabel(const LabelMap& map, const bool strict_check,
^
./include/caffe/util/io.hpp:232:34: error: ‘LabelMap’ does not name a type
inline bool MapNameToLabel(const LabelMap& map,
^
./include/caffe/util/io.hpp:237:27: error: ‘LabelMap’ does not name a type
bool MapLabelToName(const LabelMap& map, const bool strict_check,
^
./include/caffe/util/io.hpp:240:34: error: ‘LabelMap’ does not name a type
inline bool MapLabelToName(const LabelMap& map,
^
./include/caffe/util/io.hpp:245:34: error: ‘LabelMap’ does not name a type
bool MapLabelToDisplayName(const LabelMap& map, const bool strict_check,
^
./include/caffe/util/io.hpp:248:41: error: ‘LabelMap’ does not name a type
inline bool MapLabelToDisplayName(const LabelMap& map,

Your system configuration

Operating system: Ubuntu16.04
Compiler: gcc V5.4
CUDA version (if applicable): CUDA8.0
CUDNN version (if applicable): CUDNN5.0
BLAS: openBLAS
Python or MATLAB version (for pycaffe and matcaffe respectively): anaconda python3.5

Most helpful comment

@weiliu89 我就用中文说了,原因找到了,因为GPU是多用户使用,其他用户在编译caffe时有用到cmake&make install ,导致系统留有caffe基础环境,两种方法
一, 在usr目录下find到所有的caffe目录及文件,删除(sudo rm -fr /usr/local/include/caffe)
二,
打开 Makefile
找到 COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-isystem $(includedir))
修改为 COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I $(includedir))
(大意就是-isystem里面如果和-I里面的头文件有冲突,会忽略-I!!!!!!!!也就是,如果系统中(比如/usr/local/include)等地方有同名文件,会不进行本地(比如/home/XXX/caffe/include)的头文件搜索。)

All 2 comments

You probably have generated caffe.pb.h from other caffe repository.

@weiliu89 我就用中文说了,原因找到了,因为GPU是多用户使用,其他用户在编译caffe时有用到cmake&make install ,导致系统留有caffe基础环境,两种方法
一, 在usr目录下find到所有的caffe目录及文件,删除(sudo rm -fr /usr/local/include/caffe)
二,
打开 Makefile
找到 COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-isystem $(includedir))
修改为 COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I $(includedir))
(大意就是-isystem里面如果和-I里面的头文件有冲突,会忽略-I!!!!!!!!也就是,如果系统中(比如/usr/local/include)等地方有同名文件,会不进行本地(比如/home/XXX/caffe/include)的头文件搜索。)

Was this page helpful?
0 / 5 - 0 ratings