HDF5 make test in error


I tried to build latest hdf5-1.10.5.tar.gz, in CentOs 7.6.181, using gcc (8.3.1 20190311). I did a Dockerfile to have a simple and reproducible build that I will attach later.

I have this error at make test, even if make works. From a bit of research in HDF forum, it seems the tests are not reliable and so we can ignore it (https://forum.hdfgroup.org/t/h5repack-error-make-check/4205/9.

Testing …/…/src/h5repack/h5repack 0 1 bounds_latest_latest.h5 PASSED
h5repack tests failed with 1 errors.
make[6]: *** [Makefile:1451: h5repack.sh.chkexe_] Error 1
make[5]: *** [Makefile:1366: build-check-s] Error 2
make[4]: *** [Makefile:1360: test] Error 2
make[6]: Leaving directory ‘/docker/archives/hdf5/tools/test/h5repack’
make[5]: Leaving directory ‘/docker/archives/hdf5/tools/test/h5repack’
make[4]: Leaving directory ‘/docker/archives/hdf5/tools/test/h5repack’
make[3]: *** [Makefile:1158: check-am] Error 2
make[3]: Leaving directory ‘/docker/archives/hdf5/tools/test/h5repack’
make[2]: *** [Makefile:810: check-recursive] Error 1
make[2]: Leaving directory ‘/docker/archives/hdf5/tools/test’
make[1]: *** [Makefile:808: check-recursive] Error 1
make[1]: Leaving directory ‘/docker/archives/hdf5/tools’
make: *** [Makefile:654: check-recursive] Error 1

The tests are reliable in most of the environments, there are certain platforms that have specific issues. There are also documented issues, which cause some tests to fail under certain conditions.
However, we need to see the entire h5repack test output to determine which h5repack test failed.


Attached here is a complete simple and reproductible hdf5 build, test and install: Dockerfile (1.3 KB)
It uses latest hdf5-1.10.5.tar.gz, in CentOs 7.6.181, using gcc (8.3.1 20190311).
Just do a docker build -t todelete/buildhdf5 .

Ok, the stderr of make -i test (if this is what you want):

 cat /docker/archives/hdf5-make-test-stderr.log
make[6]: [Makefile:1451: h5repack.sh.chkexe_] Error 1 (ignored)
make[6]: [Makefile:1381: testh5copy.sh.chkexe_] Error 1 (ignored)
./hdf/hdf5lib/H5.java:3220: warning: no @return
    public synchronized static native boolean H5Fget_dset_no_attrs_hint(long file_id)
./hdf/hdf5lib/H5.java:6951: warning: no @return
    public synchronized static native boolean H5Pget_dset_no_attrs_hint(long dcpl_id)
make[5]: [Makefile:1286: junit.sh.chkexe_] Error 1 (ignored)
make[6]: [Makefile:1269: JavaDatasetExample.sh.chkexe_] Error 1 (ignored)

As for the stdout:
hdf5-make-test-stdout.log (1.2 MB)

I just needed the output from the h5repack test, but the complete log confirmed the issue.
hdf5 was built without zlib and the h5repack test script missed a check to skip that individual test.

The failing java tests were also caused by a failure to check filter status.

Issue HDFFV-10905 was created to address this.


Ok, thank you Allen.

Also, you can see in the stderr, with a ignore error flag, that other Unit Tests fails. Maybe that’s related to the same test, or not. If not, maybe there have another root cause.