web-dev-qa-db-fra.com

Caffe n'a pas vu hdf5.h lors de la compilation

J'ai des problèmes lors de l'installation de Caffe Deep Learning Framework sur Python:

Lorsque j'exécute la commande make dans le répertoire caffe, cela dit

hdf5.h: aucun tel répertoire

Les étapes que j'ai accomplies:

  • Mettre à jour et mettre à niveau mon serveur Ubuntu

  • Installer Python 2.7

  • Avoir toutes les dépendances basées sur http://caffe.berkeleyvision.org/install_apt.html

  • Exécutez cp cp Makefile.config.example Makefile.config

  • Décommentez cpu_only = 1 dans Makefile.config

Je serai reconnaissant si quelqu'un peut m'aider.

Message d'erreur:

CXX src/caffe/util/hdf5.cpp
in file include from src/caffe/util/hdf5.cpp:1:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated 

Makefile:572 recipe for target '.build_release/src/caffe/util/hdf5.o'       
failed Make:*** [.build_release/src/caffe/util/hdf5.o] Error 1
21
kelvin

Quelle est la version de votre installation Ubuntu? Essaye ça. Dans votre Makefile.config essayez d'ajouter /usr/include/hdf5/serial/ à INCLUDE_DIRS:

--- INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
+++ INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

et renommez hdf5_hl et hdf5 à hdf5_serial_hl et hdf5_serial dans le Makefile:

--- LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
+++ LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

En savoir plus sur la correction de bogue ici .

51
alfakini

Cette solution a fonctionné pour moi sur le Ubuntu16.04LTS

Sudo apt-get install libhdf5-10
Sudo apt-get install libhdf5-serial-dev
Sudo apt-get install libhdf5-dev
Sudo apt-get install libhdf5-cpp-11
find /usr -iname "*hdf5.h*"
/usr/include/hdf5/serial/hdf5.h
export CPATH="/usr/include/hdf5/serial/"
19
loretoparisi

Un autre cas que j'ai rencontré:

J'utilisais Ubuntu 14.04 et j'installais hdf5-1.10..

J'ai trouvé hdf5.h était situé dans /usr/local/hdf5/include. J'ai donc modifié Makefile.config fichier en ajoutant cet emplacement à INCLUDE_DIRS.

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include \
                    /usr/local/hdf5/include

Je n'ai rien renommé dans Makefile. Cela a bien fonctionné.

3
iparjono