[dolfin] 01/02: Disable HDF5 support
Drew Parsons
dparsons at moszumanska.debian.org
Wed Sep 14 08:30:12 UTC 2016
This is an automated email from the git hooks/post-receive script.
dparsons pushed a commit to branch master
in repository dolfin.
commit 5ccf048ccb4fd7f98aff26fd072787cbe750afea
Author: Drew Parsons <dparsons at debian.org>
Date: Wed Sep 14 12:22:00 2016 +0800
Disable HDF5 support
HDF5 was never actually enabled previously due to a
discrepancy between serial and parallel HDF5. Previously
(at libhdf5-mpi-dev 1.8.16+docs-2) dolfin would find report at
configure time.
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- HDF5: Using hdf5 compiler wrapper to determine CXX configuration
-- HDF5: Using hdf5 compiler wrapper to determine Fortran configuration
-- Found HDF5: /usr/lib/x86_64-linux-gnu/libhdf5_cpp.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5_fortran.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.8.16")
-- HDF5 has been found, but is missing parallel support. It will not be enabled.
i.e. it found hdf5 serial, wanted parallel, so simply disabled hdf5
support, so "-DHAS_HDF5" was not used to compile object files.
Changes to the hdf5 packages since then now cause dolfin to fail to
build. dolfin detects hdf5, reporting at configure time:
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- HDF5: Using hdf5 compiler wrapper to determine CXX configuration
CMake Warning at /usr/share/cmake-3.6/Modules/FindHDF5.cmake:606 (message):
HDF5 found for language CXX is not parallel but previously found language
is parallel.
Call Stack (most recent call first):
CMakeLists.txt:556 (find_package)
-- HDF5: Using hdf5 compiler wrapper to determine Fortran configuration
-- Found HDF5: /usr/lib/x86_64-linux-gnu/libhdf5_cpp.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5_fortran.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.8.16")
So HDF5 does not get disabled and the dolfin build adds the flag
"-DHAS_HDF5". This causes the build time error:
cd /«PKGBUILDDIR»/debian/build-python2.7/dolfin && /usr/bin/c++ -DDOLFIN_LA_INDEX_SIZE=4 -DDOLFIN_SIZE_T=8 -DDOLFIN_VERSION=\"2016.1.0\" -DHAS_CHOLMOD -DHAS_HDF5 -DHAS_MPI -DHAS_OPENMP -DHAS_PETSC -DHAS_SCOTCH -DHAS_SLEPC -DHAS_UMFPACK -DHAS_VTK -DHAS_ZLIB -DNDEBUG -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -Ddolfin_EXPORTS -DvtkRenderingCore_AUTOINIT="3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL)" -I/«PKGBUILDDIR»/debian/build-python2.7 -isystem [...]
In file included from /«PKGBUILDDIR»/dolfin/io/HDF5Attribute.cpp:28:0:
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.h: In static member function 'static void dolfin::HDF5Interface::write_dataset(hid_t, std::__cxx11::string, const std::vector<T>&, std::pair<long int, long int>, std::vector<long int>, bool, bool)':
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.h:303:63: warning: there are no arguments to 'H5Pset_dxpl_mpio' that depend on a template parameter, so a declaration of 'H5Pset_dxpl_mpio' must be available [-fpermissive]
status = H5Pset_dxpl_mpio(plist_id, H5FD_MPIO_COLLECTIVE);
^
In file included from /«PKGBUILDDIR»/dolfin/io/HDF5Attribute.h:30:0,
from /«PKGBUILDDIR»/dolfin/io/HDF5File.h:32,
from /«PKGBUILDDIR»/dolfin/io/HDF5Interface.cpp:26:
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.h: In static member function 'static void dolfin::HDF5Interface::write_dataset(hid_t, std::__cxx11::string, const std::vector<T>&, std::pair<long int, long int>, std::vector<long int>, bool, bool)':
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.h:303:63: warning: there are no arguments to 'H5Pset_dxpl_mpio' that depend on a template parameter, so a declaration of 'H5Pset_dxpl_mpio' must be available [-fpermissive]
status = H5Pset_dxpl_mpio(plist_id, H5FD_MPIO_COLLECTIVE);
^
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.cpp: In static member function 'static hid_t dolfin::HDF5Interface::open_file(MPI_Comm, std::__cxx11::string, std::__cxx11::string, bool)':
/«PKGBUILDDIR»/dolfin/io/HDF5Interface.cpp:48:62: error: 'H5Pset_fapl_mpio' was not declared in this scope
herr_t status = H5Pset_fapl_mpio(plist_id, mpi_comm, info);
^
dolfin/CMakeFiles/dolfin.dir/build.make:2321: recipe for target 'dolfin/CMakeFiles/dolfin.dir/io/HDF5Interface.cpp.o' failed
make[4]: *** [dolfin/CMakeFiles/dolfin.dir/io/HDF5Interface.cpp.o] Error 1
This indicates some configuration instability when libhdf5-mpi-dev
(parallel) and libhdf5-dev (serial) are installed simultaneously. We
want to use libhdf5-mpi-dev but libhdf5-dev is pulled from
libarmadillo-dev via libvtk6-dev.
Since HDF5 had been disabled anyway in the past, the workaround is to
disable HDF5 support explicitly, for now.
---
debian/changelog | 9 +++++++++
debian/control | 2 --
debian/rules | 4 +---
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index f027019..5938505 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+dolfin (2016.1.0-4) UNRELEASED; urgency=medium
+
+ * Disable HDF5 support.
+ HDF5 was never actually enabled previously due to a discrepant
+ configuration between serial and parallel HDF5, but that now
+ causes dolfin to fail to build.
+
+ -- Drew Parsons <dparsons at debian.org> Wed, 14 Sep 2016 12:18:12 +0800
+
dolfin (2016.1.0-3) unstable; urgency=medium
* Thanks Christophe Prud'homme for your uploads of the earlier
diff --git a/debian/control b/debian/control
index 4dd87f5..f7a9587 100644
--- a/debian/control
+++ b/debian/control
@@ -21,7 +21,6 @@ Build-Depends:
libboost-thread-dev,
libboost-timer-dev,
libeigen3-dev,
- libhdf5-mpi-dev,
libsuitesparse-dev,
libscotch-dev,
libvtk6-dev,
@@ -59,7 +58,6 @@ Depends:
libboost-timer-dev,
libdolfin2016.1 (= ${binary:Version}),
libeigen3-dev,
- libhdf5-mpi-dev,
libsuitesparse-dev,
libscotch-dev,
libvtk6-dev,
diff --git a/debian/rules b/debian/rules
index aadde66..7c9425b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -41,9 +41,7 @@ CMAKE_OPTS := \
-D CMAKE_SKIP_RPATH:BOOL=ON \
-D CMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF \
-D DOLFIN_ENABLE_TRILINOS:BOOL=OFF \
- -D DOLFIN_ENABLE_HDF5:BOOL=ON \
- -D HDF5_C_COMPILER_EXECUTABLE:FILEPATH=/usr/bin/h5pcc \
- -D HDF5_Fortran_COMPILER_EXECUTABLE:FILEPATH=/usr/bin/h5pfc \
+ -D DOLFIN_ENABLE_HDF5:BOOL=OFF \
-D DOLFIN_ENABLE_VTK:BOOL=ON \
-D DOLFIN_ENABLE_QT:BOOL=OFF \
-D DOLFIN_ENABLE_PARMETIS:BOOL=OFF \
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/fenics/dolfin.git
More information about the debian-science-commits
mailing list