Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

`pip install tables` fail with ERROR:: Could not find a local HDF5 installation

Tags:

hdf5

pytables

Here's the detailed error message I am getting when I attempt to install PyTables on Mac OSX.

calvin$ pip install tables
Downloading/unpacking tables
  Downloading tables-2.4.0.tar.gz (8.9MB): 8.9MB downloaded
  Running setup.py egg_info for package tables
    /var/folders/kl/_52jng9s6sl2knv_0jds9w140000gn/T/H5close2zXB1J.c:1:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
    main (int argc, char **argv) {
    ^~~~
    /var/folders/kl/_52jng9s6sl2knv_0jds9w140000gn/T/H5close2zXB1J.c:2:5: warning: implicit declaration of function 'H5close' is invalid in C99 [-Wimplicit-function-declaration]
        H5close();
        ^
    2 warnings generated.
    ld: library not found for -lhdf5
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    * Found numpy 1.6.2 package installed.
    * Found numexpr 2.0.1 package installed.
    * Found Cython 0.17.1 package installed.
    ld: library not found for -lhdf5
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    .. ERROR:: Could not find a local HDF5 installation.
       You may need to explicitly state where your local HDF5 headers and
       library can be found by setting the ``HDF5_DIR`` environment
       variable or by using the ``--hdf5`` command-line option.
    Complete output from command python setup.py egg_info:
    /var/folders/kl/_52jng9s6sl2knv_0jds9w140000gn/T/H5close2zXB1J.c:1:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]

main (int argc, char **argv) {

^~~~

/var/folders/kl/_52jng9s6sl2knv_0jds9w140000gn/T/H5close2zXB1J.c:2:5: warning: implicit declaration of function 'H5close' is invalid in C99 [-Wimplicit-function-declaration]

    H5close();

    ^

2 warnings generated.

ld: library not found for -lhdf5

clang: error: linker command failed with exit code 1 (use -v to see invocation)

* Found numpy 1.6.2 package installed.

* Found numexpr 2.0.1 package installed.

* Found Cython 0.17.1 package installed.

ld: library not found for -lhdf5

clang: error: linker command failed with exit code 1 (use -v to see invocation)

.. ERROR:: Could not find a local HDF5 installation.

   You may need to explicitly state where your local HDF5 headers and

   library can be found by setting the ``HDF5_DIR`` environment

   variable or by using the ``--hdf5`` command-line option.

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /Users/calvin/.virtualenvs/pythontrg/build/tables
Storing complete log in /Users/calvin/.pip/pip.log

My hdf5-18 library is installed via macports. They can be found here -

calvin$ port content hdf5-18
Port hdf5-18 contains:
  /opt/local/bin/gif2h5
  /opt/local/bin/h52gif
  /opt/local/bin/h5c++
  /opt/local/bin/h5cc
  /opt/local/bin/h5copy
  /opt/local/bin/h5debug
  /opt/local/bin/h5diff
  /opt/local/bin/h5dump
  /opt/local/bin/h5import
  /opt/local/bin/h5jam
  /opt/local/bin/h5ls
  /opt/local/bin/h5mkgrp
  /opt/local/bin/h5perf_serial
  /opt/local/bin/h5redeploy
  /opt/local/bin/h5repack
  /opt/local/bin/h5repart
  /opt/local/bin/h5stat
  /opt/local/bin/h5unjam
  /opt/local/include/H5ACpublic.h
  /opt/local/include/H5AbstractDs.h
  /opt/local/include/H5Apublic.h
  /opt/local/include/H5ArrayType.h
  /opt/local/include/H5AtomType.h
  /opt/local/include/H5Attribute.h
  /opt/local/include/H5Classes.h
  /opt/local/include/H5CommonFG.h
  /opt/local/include/H5CompType.h
  /opt/local/include/H5Cpp.h
  /opt/local/include/H5CppDoc.h
  /opt/local/include/H5Cpublic.h
  /opt/local/include/H5DSpublic.h
  /opt/local/include/H5DataSet.h
  /opt/local/include/H5DataSpace.h
  /opt/local/include/H5DataType.h
  /opt/local/include/H5DcreatProp.h
  /opt/local/include/H5Dpublic.h
  /opt/local/include/H5DxferProp.h
  /opt/local/include/H5EnumType.h
  /opt/local/include/H5Epubgen.h
  /opt/local/include/H5Epublic.h
  /opt/local/include/H5Exception.h
  /opt/local/include/H5FDcore.h
  /opt/local/include/H5FDdirect.h
  /opt/local/include/H5FDfamily.h
  /opt/local/include/H5FDlog.h
  /opt/local/include/H5FDmpi.h
  /opt/local/include/H5FDmpio.h
  /opt/local/include/H5FDmpiposix.h
  /opt/local/include/H5FDmulti.h
  /opt/local/include/H5FDpublic.h
  /opt/local/include/H5FDsec2.h
  /opt/local/include/H5FDstdio.h
  /opt/local/include/H5FaccProp.h
  /opt/local/include/H5FcreatProp.h
  /opt/local/include/H5File.h
  /opt/local/include/H5FloatType.h
  /opt/local/include/H5Fpublic.h
  /opt/local/include/H5Gpublic.h
  /opt/local/include/H5Group.h
  /opt/local/include/H5IMpublic.h
  /opt/local/include/H5IdComponent.h
  /opt/local/include/H5Include.h
  /opt/local/include/H5IntType.h
  /opt/local/include/H5Ipublic.h
  /opt/local/include/H5LTpublic.h
  /opt/local/include/H5Library.h
  /opt/local/include/H5Lpublic.h
  /opt/local/include/H5MMpublic.h
  /opt/local/include/H5Object.h
  /opt/local/include/H5Opublic.h
  /opt/local/include/H5PTpublic.h
  /opt/local/include/H5PacketTable.h
  /opt/local/include/H5Ppublic.h
  /opt/local/include/H5PredType.h
  /opt/local/include/H5PropList.h
  /opt/local/include/H5Rpublic.h
  /opt/local/include/H5Spublic.h
  /opt/local/include/H5StrType.h
  /opt/local/include/H5TBpublic.h
  /opt/local/include/H5Tpublic.h
  /opt/local/include/H5VarLenType.h
  /opt/local/include/H5Zpublic.h
  /opt/local/include/H5api_adpt.h
  /opt/local/include/H5overflow.h
  /opt/local/include/H5pubconf.h
  /opt/local/include/H5public.h
  /opt/local/include/H5version.h
  /opt/local/include/hdf5.h
  /opt/local/include/hdf5_hl.h
  /opt/local/lib/libhdf5.7.dylib
  /opt/local/lib/libhdf5.a
  /opt/local/lib/libhdf5.dylib
  /opt/local/lib/libhdf5.la
  /opt/local/lib/libhdf5.settings
  /opt/local/lib/libhdf5_cpp.7.dylib
  /opt/local/lib/libhdf5_cpp.a
  /opt/local/lib/libhdf5_cpp.dylib
  /opt/local/lib/libhdf5_cpp.la
  /opt/local/lib/libhdf5_hl.7.dylib
  /opt/local/lib/libhdf5_hl.a
  /opt/local/lib/libhdf5_hl.dylib
  /opt/local/lib/libhdf5_hl.la
  /opt/local/lib/libhdf5_hl_cpp.7.dylib
  /opt/local/lib/libhdf5_hl_cpp.a
  /opt/local/lib/libhdf5_hl_cpp.dylib
  /opt/local/lib/libhdf5_hl_cpp.la
  /opt/local/share/hdf5_examples/README
  /opt/local/share/hdf5_examples/c++/chunks.cpp
  /opt/local/share/hdf5_examples/c++/compound.cpp
  /opt/local/share/hdf5_examples/c++/create.cpp
  /opt/local/share/hdf5_examples/c++/extend_ds.cpp
  /opt/local/share/hdf5_examples/c++/h5group.cpp
  /opt/local/share/hdf5_examples/c++/readdata.cpp
  /opt/local/share/hdf5_examples/c++/run-c++-ex.sh
  /opt/local/share/hdf5_examples/c++/writedata.cpp
  /opt/local/share/hdf5_examples/c/h5_attribute.c
  /opt/local/share/hdf5_examples/c/h5_chunk_read.c
  /opt/local/share/hdf5_examples/c/h5_compound.c
  /opt/local/share/hdf5_examples/c/h5_drivers.c
  /opt/local/share/hdf5_examples/c/h5_elink_unix2win.c
  /opt/local/share/hdf5_examples/c/h5_extend_write.c
  /opt/local/share/hdf5_examples/c/h5_extlink.c
  /opt/local/share/hdf5_examples/c/h5_group.c
  /opt/local/share/hdf5_examples/c/h5_mount.c
  /opt/local/share/hdf5_examples/c/h5_read.c
  /opt/local/share/hdf5_examples/c/h5_ref2reg.c
  /opt/local/share/hdf5_examples/c/h5_reference.c
  /opt/local/share/hdf5_examples/c/h5_select.c
  /opt/local/share/hdf5_examples/c/h5_shared_mesg.c
  /opt/local/share/hdf5_examples/c/h5_write.c
  /opt/local/share/hdf5_examples/c/ph5example.c
  /opt/local/share/hdf5_examples/c/run-c-ex.sh
  /opt/local/share/hdf5_examples/hl/c++/ptExampleFL.cpp
  /opt/local/share/hdf5_examples/hl/c++/ptExampleVL.cpp
  /opt/local/share/hdf5_examples/hl/c++/run-hlc++-ex.sh
  /opt/local/share/hdf5_examples/hl/c/ex_ds1.c
  /opt/local/share/hdf5_examples/hl/c/ex_image1.c
  /opt/local/share/hdf5_examples/hl/c/ex_image2.c
  /opt/local/share/hdf5_examples/hl/c/ex_lite1.c
  /opt/local/share/hdf5_examples/hl/c/ex_lite2.c
  /opt/local/share/hdf5_examples/hl/c/ex_lite3.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_01.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_02.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_03.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_04.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_05.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_06.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_07.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_08.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_09.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_10.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_11.c
  /opt/local/share/hdf5_examples/hl/c/ex_table_12.c
  /opt/local/share/hdf5_examples/hl/c/image24pixel.txt
  /opt/local/share/hdf5_examples/hl/c/image8.txt
  /opt/local/share/hdf5_examples/hl/c/pal_rgb.h
  /opt/local/share/hdf5_examples/hl/c/ptExampleFL.c
  /opt/local/share/hdf5_examples/hl/c/ptExampleVL.c
  /opt/local/share/hdf5_examples/hl/c/run-hlc-ex.sh
  /opt/local/share/hdf5_examples/hl/run-hl-ex.sh
  /opt/local/share/hdf5_examples/run-all-ex.sh

How do I let my pip install tables know where to look for my hdf5 installation?

like image 471
Calvin Cheng Avatar asked Oct 25 '12 06:10

Calvin Cheng


People also ask

Where is HDF5?

HDF5 and Python are most likely in your package manager (e.g. Homebrew, Macports, or Fink). Be sure to install the development headers, as sometimes they are not included in the main package. XCode comes with a C compiler (clang), and your package manager will likely have other C compilers for you to install.

How install HDF5 on Linux?

Search for the HDF5 library in the ubuntu package repository. The command will show the packages relating to hdf5. install the relevant package to you. sudo apt-get install package-name.

What is PyTables package?

PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. You can download PyTables and use it for free. You can access documentation, some examples of use and presentations here.


1 Answers

Because I am using macports, with hdf5-18 already installed, it was as simple as specifying

export HDF5_DIR=/opt/local

in my ~/.bash_profile file and opening a new tab (terminal instance) so that this HDF5_DIR environment variable is available.

In my new/refreshed terminal instance, pip install tables will compile correctly and links to my hdf5 libraries (which was installed via macports). Yay!

like image 195
Calvin Cheng Avatar answered Jan 02 '23 11:01

Calvin Cheng