build h5checker when not available through system installation

Issue #807 closed
Frank Löffler created an issue

Currently the utils-build target depends on the standard hdf5 tools being build using the HDF5 thorn. However, when using an external library those tools are not present and 'make' presents the user with an unresolved build dependency error. We should probably remove binaries which are not always built from the make.configuration.defn file:

ALL_UTILS += gif2h5 h52gif h5copy h5debug h5diff h5dump h5import h5jam h5ls h5mkgrp h5perf_serial h5redeploy h5repack h5repart h5stat h5unjam

This would however, prevent binaries built by Cactus from being copied to the exe/NAME/ directory. Any ideas how to solve this? Copy them inside the build script maybe?

Keyword:

Comments (8)

  1. Erik Schnetter
    • changed status to open
    • removed comment

    Index: src/make.configuration.defn

    --- src/make.configuration.defn (revision 50) +++ src/make.configuration.defn (working copy) @@ -2,8 +2,12 @@

    1. Define standard HDF5 utilities ALL_UTILS += gif2h5 h52gif h5copy h5debug h5diff h5dump h5import h5jam h5ls h5mkgrp h5perf_serial h5redeploy h5repack h5repart h5stat h5unjam -#ALL_UTILS += h5check

    +# Install h5check only if it exists +ifneq ($(wildcard $(HDF5_DIR)/bin/h5check*),) +ALL_UTILS += h5check +endif +

    1. Ignore some of the utilities that we don't use, e.g. the compiler
    2. wrappers:
    3. h5c++ h5cc h5fc
  2. Frank Löffler reporter

    After applying this patch make sim-utils still complains about h5check missing. The reason for that is that h5check isn't built if I use an external HDF5 installation.

    We should build h5check when a system hdf5 library is installed but h5check is not. We either split this into a separate thorn which would make the handling kind of uniform, or would need to add a separate check for h5check within the HDF5.sh script to detect whether we need to build it, independently from whether the HDF5 library needs to be build or not.

  3. Erik Schnetter
    • removed comment

    What is the error message that you see when this patch is applied, and you are using a system HDF5 installation that does not provide h5check?

    This patch is supposed to check whether h5check is available, and do nothing about it if it is not available.

  4. Frank Löffler reporter
    • changed status to open
    • removed comment

    I noticed an error I did while applying the patch (by hand, because it was not attached as file). The patch now works, please commit.

    Another issue I noted is that in the current form, system binaries are copied into the exe/NAME/ utils directory. Should we do this? It bloats the directory without a reason (I can see).

  5. Erik Schnetter
    • changed status to resolved
    • removed comment

    The reason for copying utilities is to ensure that we have a set of known-to-work utilities in a well-known spot. That means one doesn't have to look for them, load modules, set the path, etc. This is convenient especially for post-processing.

  6. Log in to comment