2015-09-30 1 views
1

Je suis sur un Mac 10.9.5, et je suis en train d'installer Dlib pour python d'iciConda et Macports conflits X11 lors de l'installation Dlib

http://dlib.net/files/dlib-18.16.tar.bz2

Mon installation de python a été fait il y a longtemps, avec 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 

Pour installer Dlib j'ai suivi la routine suivante:

$ 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 

comme spécifié dans le fichier compile_dlib_python_module.bat à /Users/javier/dlib-18.16/python_examples

Je suis arrivé avec des erreurs liées Xlocale.h et Xosdefs.h.

Ces fichiers ont été trouvés à /opt/local/include/X11 et /opt/X11/include/X11. J'ai copié ces fichiers dans /anaconda/include/X11 qui, je pense, a résolu le problème, car je ne reçois pas les messages d'erreur liés à ces deux.

Je cours:

$ cmake --build . --config Release --target install 

et maintenant je BEAUCOUP des messages d'erreur comme:

[ 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){ 

Tous les fichiers connexes, comme XmbTextExtents sont en /opt/X11/share/man/man3 et les versions zippées (XmbTextExtents.3.gz) sont ici /opt/local/share/man/man3.

L'erreur provient du fait que l'installation dlib se penche sur /anaconda/include/X11/ alors qu'elle devrait ressembler à /opt/X11/include/X11 (je suppose). J'ai essayé de modifier les touches correspondantes dans le fichier CMakeCache.txt afin qu'ils regardent comme:

x11_path:FILEPATH=/opt/X11/include 

//Path to a file. 
xlib_path:PATH=/opt/X11/include/X11 

Mais cela ne fonctionne pas. On m'a conseillé de commencer "frais" avec Homebrew (c.-à-d. Enlever toute trace de conda et macports et refaire toute l'installation avec Homebrew), mais cela ressemble à une "solution" plutôt drastique, étant donné que je avoir A LOT de choses déjà installées.

Juste au cas où est de toute utilisation, les lignes pertinentes dans mon fichier .profile ressemblent à ceci:

setenv PATH /opt/local/bin:/opt/local/sbin:$PATH 
# anaconda path takes priority 
setenv PATH /anaconda/bin:$PATH 

Merci d'avance pour votre temps.

+0

Essayez d'utiliser la version plus récente de dlib. Vous pouvez également installer pip maintenant dlib et cela devrait fonctionner. –

+0

Bonjour David, merci pour votre réponse. pip install dlib renvoie la même erreur (car suit la même routine :)) et il en va de même pour la dernière version de dlib, puisque le problème est lié à l'installation de X11 et au fait que cmake regarde/anaconda/include et DEVRAIT Ne pas regarder là-bas. Changer le 'CMakeCache.Le fichier txt (comme suggéré dans les instructions) n'a aucun effet pour moi. Je pourrais faire quelque chose de mal. Je suis presque convaincu de passer à Homebrew. – Javier

Répondre

4

J'ai supprimé le dossier /anaconda/include/X11/ entièrement et cela a fait l'affaire. dlib ne génère désormais aucun problème.

+0

a travaillé pour moi aussi! Merci – burzan

0

J'ai résolu ce problème en désinstallant anaconda