Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing h5py on an Ubuntu server

I was installing h5py on an Ubuntu server. However it seems to return an error that h5py.h is not found. It gives the same error message when I install it using pip or the setup.py file. What am I missing here?

I have Numpy version 1.8.1, which higher than the required version of 1.6 or above.

The complete output is as follows:

van@Hulk:~/h5py-2.3.1⟫ sudo python setup.py install libhdf5.so: cannot open shared object file: No such file or directory HDF5 autodetection failed; building for 1.8.4+ running install running bdist_egg running egg_info writing h5py.egg-info/PKG-INFO writing top-level names to h5py.egg-info/top_level.txt writing dependency_links to h5py.egg-info/dependency_links.txt reading manifest file 'h5py.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.c' under directory 'win_include' warning: no files found matching '*.h' under directory 'win_include' writing manifest file 'h5py.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/h5py copying h5py/ipy_completer.py -> build/lib.linux-x86_64-2.7/h5py copying h5py/__init__.py -> build/lib.linux-x86_64-2.7/h5py copying h5py/version.py -> build/lib.linux-x86_64-2.7/h5py copying h5py/highlevel.py -> build/lib.linux-x86_64-2.7/h5py creating build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/group.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/files.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/selections.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/__init__.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/filters.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/base.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/dims.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/datatype.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/dataset.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/selections2.py -> build/lib.linux-x86_64-2.7/h5py/_hl copying h5py/_hl/attrs.py -> build/lib.linux-x86_64-2.7/h5py/_hl creating build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_selections.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_group.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_h5.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_attrs.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_objects.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_slicing.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_h5t.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_datatype.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/__init__.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_dimension_scales.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_base.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_dataset.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_file.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_h5p.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_attrs_data.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/common.py -> build/lib.linux-x86_64-2.7/h5py/tests copying h5py/tests/test_h5f.py -> build/lib.linux-x86_64-2.7/h5py/tests running build_ext skipping 'h5py/defs.c' Cython extension (up-to-date) building 'h5py.defs' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/h5py x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DH5_USE_16_API -I/home/govinda/h5py-2.3.1/lzf -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c h5py/defs.c -o build/temp.linux-x86_64-2.7/h5py/defs.o In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,                  from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,                  from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,                  from h5py/api_compat.h:26,                  from h5py/defs.c:342: /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]  #warning "Using deprecated NumPy API, disable it by " \   ^ In file included from h5py/defs.c:342:0: h5py/api_compat.h:27:18: fatal error: hdf5.h: No such file or directory  #include "hdf5.h"                   ^ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 
like image 724
Devil Avatar asked Jul 14 '14 20:07

Devil


People also ask

How install h5py on Linux?

On OSX/MacOS, h5py can be installed via Homebrew, Macports, or Fink. The current state of h5py in various Linux Distributions can be seen at https://pkgs.org/download/python-h5py, and can be installed via the package manager.


1 Answers

You need to install libhdf5-dev to get the required header files. Just run

sudo apt-get install libhdf5-dev 

and it should install it and its dependencies automatically.

Don't worry about the NumPy warning, it just means that the package developers are using an old version of the API, but everything will still work.

like image 172
MattDMo Avatar answered Sep 28 '22 10:09

MattDMo