-----BEGIN PGP SIGNED MESSAGE-----
This is a plea to revisit the parallel vs serial hdf5 / netcdf issue for
Firstly, references to previous work:
In summary: HDF5 has two modes, parallel and serial. The design bug (*)
is that they
share the same API/ABI but are incompatible. In particular,
* The parallel version can do parallel read /writes via MPI
* The parallel version cannot use compression plugins, variable
length records, etc.
* Parallel version has no C++ support, is not threadsafe.
So they conflict. This then means that packages like netcdf4, which can
be either serial or parallel,
cannot be built against both: it must be one or the other. Currently
netcdf in Debian is serial, and
cannot do parallel writes. This cannot be fixed (e.g. by providing both
serial and parallel netcdf
packages) because libhdf5-dev (serial) conflicts with libhdf5-mpi-dev.
This goes on, with packages choosing one version or the other, until you
end up with a package
that can't be built in Debian (e.g visit, which i'm working on), because
it depends on both
The best solution I can think of is:
(1) make the packages install into
with $MPIV equalling either mpiversion (openmpi, mpich2, ...) or
'serial', or 'any'.
(2) Use alternatives to set a default.
(3) Mangle the libnames as follows:
ie. adding _$(MPIV) to the libname.
This results in a library that uses it being hard-coded to use that
particular version, but
(4) the version in /usr/lib/any/ does _not_ mangle the libname, but
points to a version with
libhdf5.so.7.1.1 with SONAME 'libhdf5.so.7', which is just a shell for
linking against, but which itself
is linked against a version (any, default serial) of the HDF5 libs.
Hence any application which does not
care of the given features (threadsafe, compression, parallelism) can
use this version.
Binaries built with it will resolve /usr/lib/*/libhdf5.so.7.1.1 pointing
to the default version on the system.
This will enable the building of a libnetcdf-$mpi version, for parallel
writes, and other libraries.
Alastair McKinstry, <alast...@sceal.ie>, <mckins...@debian.org>,
A decent provision for the poor is the true test of civilization.
~Samuel Johnson, Boswell: Life of Johnson
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
-----END PGP SIGNATURE-----
Pkg-grass-devel mailing list