TREX-CoE / trexio

TREX I/O library
https://trex-coe.github.io/trexio/
BSD 3-Clause "New" or "Revised" License
49 stars 14 forks source link

Python TREXIO HDF5 #163

Closed scemama closed 5 months ago

scemama commented 5 months ago

For users where HDF5 is not accessible with pkg-config, the Python TREXIO build disables HDF5, even if HDF5 can be used with -lhdf5. This is the case in CALMIP for example where HDF5 is activated with module load. A few improvements can be made:

q-posev commented 5 months ago

In Python README I explain how to provide a path to HDF5 via env variables prior to building the Python API in cases where HDF5 is not detected via pkg-config. I would say that it is a problem of CALMIP that module load does not update the PKG_CONFIG_PATH env variable.. I am strongly against the idea of two different pip packages. Our packaging is already complicated enough.

q-posev commented 5 months ago

In fact, I suspect that you have built the C API without HDF5. In the past, if configure was able to detect HDF5 and build the C library - make python-install would get the right variables pre-set (look at HDF5_CFLAGS in Makefile.am). So I suspect something went wrong during your config too.

scemama commented 5 months ago

OK. So I think we should put a warning in red when we compile the python module without HDF5 during the pip install, because it is hard to guess when the python scripts using trexio don't run properly.

q-posev commented 5 months ago

Yes, you can modify the https://github.com/TREX-CoE/trexio/blob/master/tools/prepare_python.sh script accordingly. There is already a warning printed for your case but it's not in red 🙂