Hdf5 problem with docker tensorflow

Hi,

I am currently trying to build a docker container which is able to run GPU accelerated tensorflow on top of a Xavier AGX.

My approach is derived from example and the official documentation jetson tensorflow.

My Dockerfile looks like this:

FROM nvcr.io/nvidia/l4t-base:r32.4.2

WORKDIR /

RUN apt update && apt install -y --fix-missing make g++

RUN apt update && apt install -y --fix-missing python3-pip libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev libjpeg8-dev liblapack-dev libblas-dev gfortran python3-h5py

RUN pip3 install -U pip testresources setuptools cython numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.9.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 pybind11

RUN pip3 install --pre --no-cache-dir --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow

COPY requirements.txt .

RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3", "-u", "app.py"]

However, I am getting the following error, related to the hdf5-lib:

 In file included from /tmp/pip-build-cdi1gcqf/h5py/h5py/defs.c:654:0:
    /tmp/pip-build-cdi1gcqf/h5py/h5py/api_compat.h:27:10: fatal error: hdf5.h: No such file or directory
     #include "hdf5.h"

The JetPack version of the Xavier is 4.4 and the l4t version is 32.4.2.

Any help would be highly appreciated!

Best regards
Dominik

The solution was to add:

HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ 

to the

RUN HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ pip3 install -U pip testresources setuptools cython numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 pybind11

and to change:

h5py==2.9.0 to h5py==2.10.0

The following Dockerfile works now:

FROM nvcr.io/nvidia/l4t-base:r32.4.2

WORKDIR /

RUN apt update && apt install -y --fix-missing make g++

RUN apt update && apt install -y --fix-missing python3-pip libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev libjpeg8-dev liblapack-dev libblas-dev gfortran python3-h5py

RUN HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ pip3 install -U pip testresources setuptools cython numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 pybind11

RUN pip3 install --pre --no-cache-dir --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow

COPY requirements.txt .

RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3", "-u", "app.py"]