Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: make-dev-env fails unless hdf5 is present on machine #11

Open
KitBurgess opened this issue Jun 23, 2022 · 1 comment
Open

bug: make-dev-env fails unless hdf5 is present on machine #11

KitBurgess opened this issue Jun 23, 2022 · 1 comment
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@KitBurgess
Copy link

Describe the bug
Similar to #10 .

The pytables installation https://github.com/PyTables/PyTables#installation requires for hdf5 to be installed (and maybe a path variable set) before pytables can be installed.
https://github.com/PyTables/PyTables

To Reproduce

➜  dynamicio git:(master) make dev-env-setup
Creating DEV virtual environment...
Installing requirements...
Requirement already satisfied: pip in ./venv/lib/python3.8/site-packages (22.1.2)
Collecting awscli>=1.22.24
  Using cached awscli-1.25.15-py3-none-any.whl (3.9 MB)
Collecting boto3>=1.20.24
  Using cached boto3-1.24.15-py3-none-any.whl (132 kB)
Collecting fastparquet==0.8.0
  Using cached fastparquet-0.8.0-cp38-cp38-macosx_11_0_arm64.whl (598 kB)
Collecting fsspec==2022.3.0
  Using cached fsspec-2022.3.0-py3-none-any.whl (136 kB)
Collecting kafka-python~=2.0.2
  Using cached kafka_python-2.0.2-py2.py3-none-any.whl (246 kB)
Collecting logzero>=1.7.0
  Using cached logzero-1.7.0-py2.py3-none-any.whl (16 kB)
Collecting magic-logger>=1.0.2
  Using cached magic_logger-1.0.2.tar.gz (3.2 kB)
  Preparing metadata (setup.py) ... done
Collecting pandas>=1.2.4
  Using cached pandas-1.4.3-cp38-cp38-macosx_11_0_arm64.whl (10.3 MB)
Collecting psycopg2-binary~=2.9.3
  Using cached psycopg2-binary-2.9.3.tar.gz (380 kB)
  Preparing metadata (setup.py) ... done
Collecting pyarrow==8.0.0
  Using cached pyarrow-8.0.0-cp38-cp38-macosx_11_0_arm64.whl (16.2 MB)
Collecting python-json-logger~=2.0.1
  Using cached python_json_logger-2.0.2-py3-none-any.whl (7.4 kB)
Collecting PyYAML~=5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting s3fs==0.4.2
  Using cached s3fs-0.4.2-py3-none-any.whl (19 kB)
Collecting simplejson~=3.17.2
  Using cached simplejson-3.17.6-cp38-cp38-macosx_11_0_arm64.whl (73 kB)
Collecting SQLAlchemy>=1.4.11
  Using cached SQLAlchemy-1.4.38.tar.gz (8.2 MB)
  Preparing metadata (setup.py) ... done
Collecting tables~=3.7.0
  Using cached tables-3.7.0.tar.gz (8.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      /var/folders/xm/q2trq80j1n399bdtq5yg2jk80000gn/T/H5closetommbfn_.c:2:5: error: implicit declaration of function 'H5close' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
          H5close();
          ^
      1 error generated.
      cpuinfo failed, assuming no CPU features: No module named 'cpuinfo'
      * Using Python 3.8.13 (default, Jun 23 2022, 20:46:48)
      * Found cython 0.29.30
      * 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.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
make: *** [dev-env-setup] Error 1
@KitBurgess
Copy link
Author

KitBurgess commented Jun 23, 2022

Feels like a sneaky hack but this solution worked for me, as guided by this article:

find where your headers are:

➜  dynamicio git:(master) h5cc -show
clang -I/opt/homebrew/opt/libaec/include -L/opt/homebrew/Cellar/hdf5/1.12.2/lib /opt/homebrew/Cellar/hdf5/1.12.2/lib/libhdf5_hl.a /opt/homebrew/Cellar/hdf5/1.12.2/lib/libhdf5.a -L/opt/homebrew/opt/libaec/lib -lsz -lz -ldl -lm

set the headers:

➜  dynamicio git:(master) export HDF5_DIR=/opt/homebrew/Cellar/hdf5/1.12.2/

The above hack was inspired by this article: https://itensor.org/docs.cgi?vers=cppv3&page=install/install_with_hdf5

@Christos-Hadjinikolis Christos-Hadjinikolis added good first issue Good for newcomers bug Something isn't working labels Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants