我在Mac 10.9.5上,我正在尝试从这里为python安装dlib
http://dlib.net/files/dlib-18.16.tar.bz2
我的python安装是在很久以前制作的,conda
:
Current conda install:
platform : osx-64
conda version : 3.16.0
conda-build version : 1.3.5
python version : 2.7.10.final.0
requests version : 2.7.0
root environment : //anaconda (writable)
default environment : //anaconda
envs directories : //anaconda/envs
package cache : //anaconda/pkgs
channel URLs : https://repo.continuum.io/pkgs/free/osx-64/
https://repo.continuum.io/pkgs/free/noarch/
https://repo.continuum.io/pkgs/pro/osx-64/
https://repo.continuum.io/pkgs/pro/noarch/
config file : None
is foreign system : False
要安装dlib,我遵循以下例程:
$ tar xvjf dlib-18.16.tar.bz2
$ cd dlib-18.16/python_examples/
$ mkdir build
$ cd build
$ cmake ../../tools/python
$ cmake --build . --config Release --target install
在compile_dlib_python_module.bat
/Users/javier/dlib-18.16/python_examples
文件中指定
我首先遇到与Xlocale.h
和Xosdefs.h
相关的错误。
这些文件位于/opt/local/include/X11
和/opt/X11/include/X11
。我将这些文件复制到/anaconda/include/X11
我认为解决了问题,因为我没有收到与这两个相关的错误消息。
我跑:
$ cmake --build . --config Release --target install
现在我收到 很多 的错误消息,例如:
[ 1%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.o
/Users/javier/dlib-18.16/dlib/gui_widgets/nativefont.h:313:21: error: use of undeclared identifier 'XAllocColor'
XAllocColor(d, cmap, &xcol);
/Users/javier/dlib-18.16/dlib/gui_widgets/nativefont.h:319:36: error: use of undeclared identifier 'XmbTextExtents'; did you mean 'XTextExtents'?
return XmbTextExtents(fs, str, len, ink, logical);
^~~~~~~~~~~~~~
XTextExtents
/Users/javier/dlib-18.16/dlib/gui_widgets/nativefont.h:318:43: note: 'XTextExtents' declared here
inline static int XTextExtents (XFontSet fs, char *str, int len, XRectangle *ink, XRectangle *logical){
所有相关文件(例如XmbTextExtents
)都位于/opt/X11/share/man/man3
,压缩版本(XmbTextExtents.3.gz
)位于/opt/local/share/man/man3
。
错误源于dlib安装在查看/anaconda/include/X11/
时看/opt/X11/include/X11
这一事实(我猜)。我试图在CMakeCache.txt
文件中编辑相关的KEYS,使它们看起来像:
x11_path:FILEPATH=/opt/X11/include
//Path to a file.
xlib_path:PATH=/opt/X11/include/X11
但它不起作用。我被建议开始"新鲜"使用Homebrew(即删除conda和macports中的任何痕迹并使用Homebrew重新执行整个安装),但这看起来像是一个相当激烈的解决方案"对我来说,我已经安装了很多的东西。
以防万一有用,我的.profile文件中的相关行如下所示:
setenv PATH /opt/local/bin:/opt/local/sbin:$PATH
# anaconda path takes priority
setenv PATH /anaconda/bin:$PATH
提前感谢您的时间。
答案 0 :(得分:4)
我完全删除了/anaconda/include/X11/
文件夹,这就完成了。 dlib现在没有问题。
答案 1 :(得分:0)
我通过卸载anaconda
解决了这个问题