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

HDF5 header files #329

Closed
Alexander-Barth opened this issue Dec 23, 2019 · 5 comments · Fixed by #386 or #402
Closed

HDF5 header files #329

Alexander-Barth opened this issue Dec 23, 2019 · 5 comments · Fixed by #386 or #402
Labels
HDF5 5️⃣ Builders and issues related to HDF5

Comments

@Alexander-Barth
Copy link
Contributor

I would like to build the NetCDF library which requires HDF5. Unfortunately, the current HDF5_jll, does not install the header files. The windows msys2 package (http://repo.msys2.org/mingw/i686/mingw-w64-i686-hdf5-1.10.5-1-any.pkg.tar.xz) does actually include the necessary header files, but the python whl do not. But apparently, they correspond to HDF5 1.10.4, and presumably they can be extract from https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5/branches?base=hdf5-1_10_4, unless there is some better idea...

Thanks!

$ strings  libhdf5.103.dylib | grep 'HDF5 library version'
Warning! ***HDF5 library version mismatched error***
HDF5 library version: %d.%d.%d
The HDF5 library version information are not consistent in its source code.
HDF5 library version: 1.10.4
HDF5 library version: 1.10.4
@giordano
Copy link
Member

If only HDF5 could be properly cross-compiled... It looks like they're working on it, but last time I tried (a couple of weeks ago) I didn't see any concrete improvement.

@giordano
Copy link
Member

It's a bit off-topic here, but I need this as a reminder: @sairus7 has built HDF5 for Raspberry Pi: https://yadi.sk/d/DnepMvNrYm77iw

@giordano
Copy link
Member

Actually my previous message was not that unrelated: the tarball provided contains the header files, I'm using them to provide the headers for all platforms in #386

@Alexander-Barth
Copy link
Contributor Author

Unfotunately, the HDF5 header files from Linux-ARM require the existence of a feature.h file which is not the case for x86_64-w64-mingw32. The hdf5.h file in the updated HDF5_jll file can thus not be used on Windows.

configure:17968: cc -c -I/workspace/destdir/include  conftest.c >&5
In file included from /workspace/destdir/include/hdf5.h:22:0,
                 from conftest.c:125:
/workspace/destdir/include/H5public.h:35:80: fatal error: features.h: No such file or directory
 #include <features.h>           /*for setting POSIX, BSD, etc. compatibility */
                                                                                ^
compilation terminated.

Here I compare the H5pubconf.h from ARM (currently installed) and from mingw64:

sandbox:${WORKSPACE}/srcdir/netcdf-c-4.7.2/mingw64/include # grep -i feature /workspace/srcdir/netcdf-c-4.7.2/mingw64/include/H5pubconf.h /workspace/destdir/include/H5pubconf.h 
/workspace/srcdir/netcdf-c-4.7.2/mingw64/include/H5pubconf.h:/* Define to 1 if you have the <features.h> header file. */
/workspace/srcdir/netcdf-c-4.7.2/mingw64/include/H5pubconf.h:/* #undef H5_HAVE_FEATURES_H */
/workspace/destdir/include/H5pubconf.h:/* Define to 1 if you have the <features.h> header file. */
/workspace/destdir/include/H5pubconf.h:#define H5_HAVE_FEATURES_H 1

Actually, the mingw64 package includes the header files. I would propose to use these on Windows.

@giordano
Copy link
Member

Unfotunately, the HDF5 header files from Linux-ARM require the existence of a feature.h file which is not the case for x86_64-w64-mingw32.

Why are the header files platform-dependent in the first place? Why is HDF5 so messy?

giordano added a commit to giordano/Yggdrasil that referenced this issue Jan 17, 2020
giordano added a commit to giordano/Yggdrasil that referenced this issue Jan 17, 2020
giordano added a commit that referenced this issue Jan 18, 2020
@giordano giordano added the HDF5 5️⃣ Builders and issues related to HDF5 label Jun 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HDF5 5️⃣ Builders and issues related to HDF5
Projects
None yet
2 participants