AI-in-Complex-Systems-Lab / FL-Project

Federated Learning Project Repo
2 stars 0 forks source link

Failed installing Tensorflow due to failed building wheel for h5py, which the HDF5 version also doesn't meet the requirement #2

Closed KennyHuang22 closed 4 months ago

KennyHuang22 commented 4 months ago

Exception: This version of h5py requires HDF5 >= 1.10.4 (got version (1, 10, 0) from environment variable or library) [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for h5py Failed to build h5py ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (h5py)

KennyHuang22 commented 4 months ago

I have tried method mentioned in https://gist.github.com/geyang/dfa69365203639fcde5f2aae73f7d9ac and it successfully installed HDF5 version 1.12.0, but when I call "python3 -m pip install tensorflow" it will return this error

aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DH5_USE_110_API -DH5Rdereference_vers=2 -DNPY_NO_DEPRECATED_API=0 -Ih5py -I/usr/local/hdf5/include -I/tmp/pip-install-yehz90ns/h5py_05028212db924cc4ac99eb1459ed183c/lzf -I/tmp/pip-install-yehz90ns/h5py_05028212db924cc4ac99eb1459ed183c/lzf/lzf -I/tmp/pip-build-env-z294qrtd/overlay/lib/python3.8/site-packages/numpy/core/include -I/usr/include/python3.8 -c /tmp/pip-install-yehz90ns/h5py_05028212db924cc4ac99eb1459ed183c/h5py/defs.c -o build/temp.linux-aarch64-cpython-38/tmp/pip-install-yehz90ns/h5py_05028212db924cc4ac99eb1459ed183c/h5py/defs.o /tmp/pip-install-yehz90ns/h5py_05028212db924cc4ac99eb1459ed183c/h5py/defs.c:63:10: fatal error: Python.h: No such file or directory

include "Python.h"

            ^~~~~~~~~~
  compilation terminated.
KennyHuang22 commented 4 months ago

Downloading conda for Jetson is another method I have tried, but neither Anaconda or Miniconda works, they all downloaded 64 bit software when Jetson is 32 bit. Of course, I have found 32 bit version of conda download but it gives the same error saying that there is error in the version

Here is the command I used trying to have miniconda download 32 bit version of the conda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86.sh

bash Miniconda3-latest-Linux-x86.sh

The error message will be "cannot execute binary file:Exec format error"

KennyHuang22 commented 4 months ago

solve this issue by upgrading HDF5 to version 1.12 and downgrading h5py to version 3.10.0, I believe the issue is h5py version 3.11 has missing files

KennyHuang22 commented 2 months ago

Right now, the actual way I can download tensorflow is by having hdf5 at version 1.10.4 Type the commands like this: cd Desktop git clone https://github.com/HDFGroup/hdf5.git cd hdf5 git checkout hdf5-1_10_4

./configure --prefix=/usr/local/hdf5 --enable-cxx make -j$(nproc) sudo make install

export HDF5_DIR=/usr/local/hdf5 export LD_LIBRARY_PATH=$HDF5_DIR/lib:$LD_LIBRARY_PATH export PATH=$HDF5_DIR/bin:$PATH source ~/.bashrc

find /usr/local/hdf5 -name h5cc /usr/local/hdf5/bin/h5cc -showconfig