【问题标题】:Error on Compiling Caffe / PyCaffe编译 Caffe / PyCaffe 时出错
【发布时间】:2017-06-16 14:41:27
【问题描述】:

我正在尝试使用 Cuda 7.0 和 Python 2.7 编译旧版本的 Caffe。问题是我不断收到此错误:

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

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

我用谷歌搜索了它,我不知道为什么编译正在寻找 python35/3.5 的东西

有什么想法吗?

【问题讨论】:

    标签: python caffe pycaffe


    【解决方案1】:

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

    env | egrep "35|3.5"
    

    特别注意 LD_LIBRARY_PATH 和 PATH。还要检查可疑文件需要哪些软件包。例如,

    ldd .build_release/lib/libcaffe.so
    

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

    【讨论】:

      【解决方案2】:

      我想你可能有以下问题。

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

      for req in $(cat requirements.txt); do pip install $req; done
      

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

      for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done
      

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

      查看link 了解更多信息。

      【讨论】:

        猜你喜欢
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 2015-11-29
        • 2017-09-30
        • 2018-02-04
        • 2017-03-15
        • 2016-02-17
        • 1970-01-01
        相关资源
        最近更新 更多