安装dlib时在Mac Sierra上出现Boost和CMake问题

时间:2017-02-15 10:30:30

标签: python macos boost cmake

所以我通过brew安装了Boost,类似地安装了cmake和python:

brew install boost --with-python3
brew install boost-python
brew install cmake

我目前正在使用miniconda3(python3.6),我正在尝试安装Dlib。到目前为止,我可以安装dlib,但是当涉及到python设置时,它会失败。可以通过克隆回购dlib_repo

来获得Dlib

我在这里python setup.py install,收到以下错误

-- Detecting CXX compile features - done
CMake Warning at /usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindBoost.cmake:1518 (message):
  No header defined for python-py34; skipping header check
Call Stack (most recent call first):
  /Users/userx/dlib/dlib/cmake_utils/add_python_module:61 (FIND_PACKAGE)
  CMakeLists.txt:6 (include)
-- Could NOT find Boost
CMake Warning at /usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindBoost.cmake:1518 (message):
  No header defined for python-py35; skipping header check
Call Stack (most recent call first):
  /Users/userx/dlib/dlib/cmake_utils/add_python_module:63 (FIND_PACKAGE)
  CMakeLists.txt:6 (include)
-- Could NOT find Boost
CMake Warning at /usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindBoost.cmake:1518 (message):
  No header defined for python3; skipping header check
Call Stack (most recent call first):
  /Users/userx/dlib/dlib/cmake_utils/add_python_module:66 (FIND_PACKAGE)
  CMakeLists.txt:6 (include)
-- Boost version: 1.61.0
-- Found the following Boost libraries:
--   python3
-- Found PythonLibs: /Users/userx/miniconda3/lib/libpython3.5.dylib (found suitable version "3.5.2", minimum required is "3.4")
-- USING BOOST_LIBS: /Users/userx/miniconda3/lib/libboost_python3.dylib
-- USING PYTHON_LIBS: /Users/userx/miniconda3/lib/libpython3.5.dylib
...
...
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.cpp.o] Error 1
make[1]: *** [dlib_build/CMakeFiles/dlib.dir/all] Error 2
make: *** [all] Error 2
error: cmake build failed!

所以在这里,我觉得cmake无法找到提升变量,所以我将这些添加到我的.bashrc并重新启动了我的shell。

export BOOST_ROOT="/usr/local/Cellar/boost/1.63.0"
export BOOST_INCLUDE="/usr/local/Cellar/boost/1.63.0/include"
export BOOST_LIBDIR="/usr/local/Cellar/boost/1.63.0/lib"

请注意,这些路径是通过brew info找到的,并检查它们以确保正确性。

我正在使用带有Sierra OS的macbook - 我知道Sierra已经改变了很多构建的方式。

我还试图从网站上删除提升和下载并直接构建,但同样的问题仍然存在。

任何帮助非常感谢

2 个答案:

答案 0 :(得分:1)

可能是由CMAKE_PREFIX_PATH设置引起的。

我遇到了同样的问题,我按照这个顺序解决了这个问题:

首先我使用以下方法安装boost:

brew install boost-python --with-python3

然后在运行以下命令安装dlib 19.7.0时发现BOOST Not Found错误:

pip install dlib --upgrade

所以我使用以下命令编辑Bash配置文件:

nano ~/.bash*le

并将以下行添加到此文件中:

export CMAKE_PREFIX_PATH="/usr/local:/usr/local/Cellar/boost/1.65.1:$PATH"

注意

我正在使用安装在/usr/local/Cellar/boost/1.65.1的boost 1.65.1,您可能会将其更改为使用brew安装boost的位置。

在这一步之后,我再次在python2.7.14和3.6.1以及3.6.3上运行pip install dlib --upgrade,现在一切正常。

答案 1 :(得分:0)

我在我的系统中做了同样的事情,除了一个区别:

python3 setup.py install

而不是

python setup.py install

我没有看到那个错误。