Search code examples
apache-sparkibm-cloud

Bluemix Spark : !pip install --user tables == ERROR:: Could not find a local HDF5 installation


I'm trying to install pytables:

!pip install --user tables

Results in

Collecting tables
  Using cached tables-3.2.2.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/ld: cannot find -lhdf5
    collect2: error: ld returned 1 exit status
    * Using Python 2.7.11 (default, Apr 19 2016, 15:04:20)
    * USE_PKGCONFIG: True
    .. 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.

    ----------------------------------------

How can I fix this issue? I do not have admin privileges on this service.

There are lots of similar questions, but this one is specifically about the issue on the Bluemix Spark Service.


Solution

  • This worked for me:

    !wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.17.tar.bz2
    !tar jxf hdf5-1.8.17.tar.bz2
    !cd hdf5-1.8.17 && ./configure --prefix=$HOME/hdf5-bin && make && make install
    !HDF5_DIR=$HOME/hdf5-bin pip install --user tables
    ...
    output omitted for brevity
    ...
    Installing collected packages: tables
      Running setup.py install for tables ... [?25l- \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ done
    [?25hSuccessfully installed tables-3.2.2