【问题标题】:Conda and Macports X11 conflicts when installing dlib安装 dlib 时 Conda 和 Macports X11 冲突
【发布时间】:2015-12-28 03:10:10
【问题描述】:

我在 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.hXosdefs.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

提前感谢您的宝贵时间。

【问题讨论】:

  • 尝试使用较新版本的 dlib。您现在也可以 pip install dlib 并且应该可以工作。
  • 您好,大卫,感谢您的回答。 pip install dlib 抛出相同的错误(因为遵循相同的例程:))并且最新版本的 dlib 也是如此,因为问题与 X11 安装以及 cmake 正在查看 /anaconda/include 和应该的事实有关不要看那里。更改 CMakeCache.txt 文件(按照说明中的建议)对我没有任何影响。我可能做错了什么。我几乎确信要搬到 Homebrew。

标签: python macports conda dlib


【解决方案1】:

我通过卸载 anaconda 解决了这个问题

【讨论】:

    【解决方案2】:

    我完全删除了/anaconda/include/X11/ 文件夹,这样就成功了。 dlib 现在构建没有问题。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 2021-07-23
      • 2017-10-29
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      相关资源
      最近更新 更多