3

我正在尝试在 Debian 上安装 Caffe,但是当我这样做时make all出现此错误:

/usr/bin/ld: /usr/local/lib/libglog.a(logging.cc.o): 重定位 R_X86_64_32 反对 `.rodata' 在制作共享对象时不能使用;使用 -fPIC 重新编译

/usr/local/lib/libglog.a:无法读取符号:错误值

collect2:错误:ld 返回 1 退出状态 make:*** [.build_release/lib/libcaffe.so] 错误 1

我应该在哪里添加-fPIC标志?我还读到这还不够gflags

有什么建议么?

4

2 回答 2

0

在 glog 中,添加-fPIC到作品AM_CXXFLAGS中。Makefile.am将它添加到CXXFLAGS环境变量对我没有影响。

于 2018-11-16T17:54:21.783 回答
0

似乎是使用 -fPIC 重新编译有问题的第 3 方的唯一解决方案。(除非您可以链接到 .so 而不是 .a)
包中静态库的标准构建是在没有 -fPIC 的情况下构建的。
例如,在 glog 中,您应该将其添加到 compile.ac 中的 C 标志中。

于 2017-09-06T09:12:01.303 回答