Skip to main content
 首页 » 编程设计

python之PyCaffe 构建失败,未找到 lboost_python

2025年05月04日15me-sa

我在 MacOS 10.13.3 (17D47) 上使用 Python 2.7.14。我正在用 python 构建 caffe。该项目仅为 CPU。我可以通过 make run test 构建 caffe,但是,在尝试 make pycaffe 之后,我得到了一个错误。这是结果:

touch python/caffe/proto/__init__.py 
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp 
PROTOC (python) src/caffe/proto/caffe.proto 
In file included from python/caffe/_caffe.cpp:17: 
In file included from ./include/caffe/caffe.hpp:12: 
./include/caffe/net.hpp:41:5: warning: unused typedef 'INVALID_REQUESTED_LOG_SEVERITY' [-Wunused-local-typedef] 
    LOG_EVERY_N(WARNING, 1000) << "DEPRECATED: ForwardPrefilled() " 
    ^ 
/usr/local/include/glog/logging.h:943:30: note: expanded from macro 'LOG_EVERY_N' 
                             INVALID_REQUESTED_LOG_SEVERITY);           \ 
                             ^ 
1 warning generated. 
ld: library not found for -lboost_python 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [python/caffe/_caffe.so] Error 1 

我有一个 Makefile.config 从 brew install 调用 boost-python 设置为:

# Whatever else you find you need goes here. 
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/Cellar/boost-python/1.67.0/lib 

我的两个初始问题是: 1)我不允许使用系统python链接到boost库吗? 2)告诉make抓取boost-python的正确方法是什么?

请您参考如下方法:

我实际上遇到了同样的问题,几天都找不到任何答案。但是,我发现了这个问题:Build caffe with Python ( cannot find -lboost_python3 ) .

这个问题是针对 python3 的,但我使用的是 python2.7 。基本上,我进入 Makefile(不是 Makefile.config),搜索 boost_python,并将其更改为 boost_python27。我做了以下步骤:

  1. vim 生成文件
  2. 使用 vim 命令 :?boost_python(应该只出现 1 次)
  3. 已更改 PYTHON_LIBRARIES ?= boost_python python2.7 到 PYTHON_LIBRARIES ?= boost_python27 python2.7
  4. 运行命令sudo make pycaffe

希望对你有帮助!