[ET Trac] [Einstein Toolkit] #1910: ExternalLibraries/HDF5 does not set HDF5_INC_DIRS

Einstein Toolkit trac-noreply at einsteintoolkit.org
Mon Jun 6 15:35:15 CDT 2016

#1910: ExternalLibraries/HDF5 does not set HDF5_INC_DIRS
  Reporter:  barry.wardell  |       Owner:  eschnett           
      Type:  defect         |      Status:  assigned           
  Priority:  unset          |   Milestone:                     
 Component:  Other          |     Version:  development version
Resolution:                 |    Keywords:                     

Comment (by eschnett):

 Yes, the logic that sets HDF5_INC_DIRS if it is unset and if a system
 library is used is missing. The same logic is present in many (I hope
 all?) other external libraries. I don't know when it got lost; I assume
 that one of the hacks to improve the user experience broke things.

 Clearly, the configuration script has been edited in ways that have more
 do to with copy-and-paste than understanding shell scripting. For example,
 internal variables are set via the
 : ${var:=value}
 syntax that only makes sense if {{{var}} might be set before; the
 traditional distinction between upper case (user input) and lower case
 (internal) variables has not been kept; user input variables are modified,
 saved, and restored in the good old ways of BASIC where all variables are
 global, etc. The whole coding style reeks of "I don't understand what
 happens, so I'll voodoo some changes in front and in the back of some
 thing that I treat as black box. Hey -- it doesn't break the tests, so it
 must be correct".

 I've put a lot of effort into clean external libraries over the past
 years, but I'm giving up now. Apparently too many people think they can
 dabble, and break things left and right. My fault for not setting up a
 barrage of virtual machines against which each commit must be tested.

 These are the lines that are missing:
 # Set options
 if [ "${FFTW3_DIR}" != 'NO_BUILD' ]; then
     : ${FFTW3_INC_DIRS="${FFTW3_DIR}/include"}
     : ${FFTW3_LIB_DIRS="${FFTW3_DIR}/lib"}
 (taken from FFTW3; obviously the library name need to be changed.)

 It is left as exercise for the reader to find out where these lines should

 For the release, I suggest setting HDF5_INC_DIRS manually, together with
 HDF5_DIR, as well as HDF5_LIB_DIRS and HDF5_LIBS.

Ticket URL: <https://trac.einsteintoolkit.org/ticket/1910#comment:10>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit

More information about the Trac mailing list