Open cbcoutinho opened 7 years ago
Thanks for your feedback. We have put a lot of effort into software design and infrastructure so you're comments are really appreciated. That said, we are always interested in getting input, perspectives, and contributions to software design/infrastructure. Feel free to reach out any time.
Regarding the HDF5 issue. HDF5 has two different build systems: 'configure' and 'CMake'. Unfortunately, they also seem to have different naming conventions for their libraries/include files/locations that get built/installed. The FindHDF module provided by the cmake installation does not seem to properly handle the HDF5-'CMake' build. I would recommend that you try building HDF5 using the 'configure' system.
./configure --prefix=/usr/local/hdf5 --enable-fortran
make
I have had issues with CMake properly detecting HDF5 libraries in the past. In particular, Fortran components of the libraries. I have filed a few bugs and they have mostly been addressed in the recent versions, but I was always using the 'configure' build. I will investigate a bit more and will look into filing another bug report with CMake.
Regarding ChiDG, I am really pushing for a version 1.0 release later this year. We plan to add some tutorials and iron out a few remaining convenience quirks, at which point I will update the master branch. In the mean time, I would recommend that you checkout the 'dev' branch. Once you get things built, feel free to reach out again with questions about setup/running ChiDG as the documentation here is in progress leading up to our first major release.
Just saw your email, thought I'd give you a small update:
Compiling HDF5 using configure ended up working - ChiDG was able to build properly
This peaked my interest, so I built hdf5 again with cmake and configure to see what the difference was in their output. Using the same flags as you stated I came up with the two following install directory trees:
Some interesting takeaways:
This may give you or the hdf5 developers an idea of how to support both build workflows
First off, thanks for producing such a high-quality library. I think ChiDG is great example of what modern Fortran looks like in practice.
TL;DR: the HDF5_ROOT setting isn't working
I'm trying to build ChiDG, and I'm having an issue with finding the correct version of HDF5 on my system. I have multiple versions of the GNU compilers installed on my machine (gcc-4.8.5, gcc-5, gcc-6, and gcc-7), so I have to be careful to link to the correct libraries when building packages with anything besides the 'default' ones on my system installed through the package manager. If I want to use the newer GNU compilers, I have to use custom built libraries for OpenMPI and HDF5 (in the case of ChiDG). The MPI binaries/libraries are successfully found because they're on my PATH and LD_LIBRARY_PATH, respectively, but I'm having trouble with HDF5.
I cloned the master/1.10 version of HDF5 from a github hosted mirror and built it using cmake along with the following options (To build parallel I had to disable CPP lib for some reason See lines 907-929 of hdf5 CMakeLists.txt):
Even setting
HDF5_ROOT
to the install location doesn't help anything:I use openSUSE, so it's possible to just download the hdf5 package from a repository, but those are usually built against an earlier version of gcc/gfortran. See the associated error message when I try to make ChiDG: