Hi,
Bradley M. Froehle a écrit , Le 29/08/2013 02:24:
Subject: Including hdf5.h disables MPI C++ bindings
Package: libhdf5-openmpi-dev
Version: 1.8.9-1~exp3
Severity: normal
As reported in lp:1165504 [1] and discussed in bug 686926 [2],
including "hdf5.h" from the libhdf5-openmpi-dev package
completely disables the MPI C++ bindings. This leads to weird
errors and regressions.
For example, to reproduce:
$ cat test.cpp
#include <hdf5.h> // disables MPI C++ bindings
#include <mpi.h>
int main() {
MPI::Init();
printf("I'm %d of %d\n", MPI::COMM_WORLD.Get_rank(),
MPI::COMM_WORLD.Get_size());
MPI::Finalize();
}
$ mpicxx -o test test.cpp
test.cpp: In function ‘int main()’:
test.cpp:4:3: error: ‘MPI’ has not been declared
test.cpp:5:28: error: ‘MPI’ has not been declared
test.cpp:5:56: error: ‘MPI’ has not been declared
test.cpp:6:3: error: ‘MPI’ has not been declared
The fix for this bug is to remove 'skip_cxx_inclusion.diff' from
debian/patches/series.
The main rationale for the patch was to alleviate awkward
workarounds when compilng C++ code:
mkoctfile -DMPICH_SKIP_MPICXX=1 -DOMPI_SKIP_MPICXX=1 helloworld.cc
However, the appropriate fix would instead have been to compile
helloworld as:
CXX=mpicxx mkoctfile helloworld.cc
The mpicxx wrappers are provided for a reason, and we should
strive to encourage our users to actually _use_ them.
I hope you consider reverting the 'skip_cxx_inclusion.diff'
from debian/patches/series.
Thanks,
Brad
[1]: https://bugs.launchpad.net/ubuntu/+source/hdf5/+bug/1165504
[2]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686926
I think this requests is valid. The workaround introduced by this patch
is wrong, and I'd like to drop it.
As I understand it, mpic{c,xx} wrappers are just another way of doing
pkg-config related stuff. Then, why not giving a try at pkg-config? I.e.
adding pkg-config files to libhdf5*-dev packages, and patching mkoctfile
to rely on pkgconfig for hdf5 flags.
What do you think?
Thanks,
_g.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org