[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"}
fi
}}}
(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
go.
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