当我尝试在Linux Ubuntu 64上安装Caffe时出现错误。 错误如下:
/ usr / bin / ld:/usr/local/lib/libgflags.a(gflags.cc.o):对`.rodata'重新定位R_X86_64_32S制作共享对象时不能使用;用-fPIC重新编译
/usr/local/lib/libgflags.a:错误添加符号:错误值
我尝试使用-fPIC
重新编译gflags库,但错误更改为:
src / caffe / common.cpp:在函数'void caffe :: GlobalInit(int *,char ***)'中: src / caffe / common.cpp:35:5:错误:':: gflags'尚未声明为
:: gflags :: ParseCommandLineFlags(pargc,pargv,true);
我还尝试更改caffe的CMakeCache.txt以设置-fPIC
,但也不起作用。
答案 0 :(得分:2)
此错误是因为gflags 2.1将名称空间的名称从google
更改为gflags
。 caffe社区的成员尝试修复此错误,尽管它们尚未最终确定。您应该将名称空间从google重新分配给gflags,如下所示。
在档案中
评论ifndef
// #ifndef GFLAGS_GFLAGS_H_
namespace gflags = google;
// #endif // GFLAGS_GFLAGS_H_
这应该是暂时的。您应该在github上使用BVLC / caffe repo将您的caffe repo同步并偶尔同步,以便获得代码的最新更新。