首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译Caffe / PyCaffe时出错

编译Caffe / PyCaffe时出错
EN

Stack Overflow用户
提问于 2017-06-16 22:41:27
回答 2查看 423关注 0票数 0

我正在尝试用Cuda 7.0和Python 2.7编译一个旧版本的Caffe。问题是我一直收到这个错误:

代码语言:javascript
运行
复制
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lboost_python-py35
/usr/bin/ld: cannot find -lpython3.5m
collect2: error: ld returned 1 exit status
make: *** [.build_release/lib/libcaffe.so] Error 1

除了我使用的是OpenCV_Version := 3之外,Makefile.config与示例几乎相同

我用谷歌搜索了一下,我不知道为什么编译程序要查找python35/3.5

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-17 00:44:12

你有一个大概的想法:你在环境中以某种方式混合了不同的版本。我会从这个角度来攻击它:看看其中包含了什么。在您的环境中搜索"35“和"3.5”引用:

代码语言:javascript
运行
复制
env | egrep "35|3.5"

特别是看看LD_LIBRARY_PATH和PATH。还要检查哪些包应该包含可疑文件。例如,

代码语言:javascript
运行
复制
ldd .build_release/lib/libcaffe.so

您可能会发现需要从环境中删除Python3.5引用并重新构建早期的包。

票数 0
EN

Stack Overflow用户

发布于 2017-06-20 21:40:36

我认为你可能有以下问题。

注意:如果更新了Ubuntu操作系统,可能需要更新和重新编译Python层,因为Python模块不再工作。在这种情况下,请再次执行此步骤。

代码语言:javascript
运行
复制
for req in $(cat requirements.txt); do pip install $req; done

如果有任何问题,请尝试:

代码语言:javascript
运行
复制
for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done

默认的Python版本是2,您可以编辑Makefile.conf来启用Python 3,但是在链接阶段会失败:boost_python3在Ubuntu16.04上找不到。相反,这个文件应该是/usr/lib/x86_64-linux-gnu/libboost_python-py35.so.1.58.0.,这需要进一步的测试。

有关更多信息,请查看link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44592036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档