[Pkg-octave-devel] Bug#686926: Bug#686926: liboctave-dev: creates broken .oct files when the OpenMPI flavor of HDF5 (libhdf5-openmpi-dev) is installed
Mike Miller
mtmiller at ieee.org
Fri Sep 7 13:11:34 UTC 2012
On Fri, Sep 7, 2012 at 8:51 AM, Sébastien Villemot wrote:
> Mike Miller <mtmiller at ieee.org> writes:
>
>> On Fri, Sep 7, 2012 at 4:50 AM, Sébastien Villemot wrote:
>>> Note that this problem is only present with libhdf5-openmpi-dev: it is not
>>> present with libhdf5-dev (serial version, the default) or libhdf5-mpich2-dev.
>>
>> Hm, are you sure? I see the same error with either libhdf5-mpich2-dev
>> or libhdf5-openmpi-dev installed.
>
> When testing against libhdf5-mpich2-dev, you should make sure that all
> OpenMPI libraries are removed (in particular libopenmpi-dev). Otherwise
> they take precedence over MPICH2 because of the alternatives priority.
Yep, just found that out myself. Thanks.
So here's a workaround that works for me with either set of libraries
installed. Each has their own symbol to avoid including the C++ API,
which is where the trouble lies.
mkoctfile -DMPICH_SKIP_MPICXX=1 -DOMPI_SKIP_MPICXX=1 helloworld.cc
I don't know enough about HDF5, but if it doesn't make use of the MPI
C++ bindings at all, I'd argue this should be reassigned to hdf5
upstream so H5public.h would now contain:
#ifdef H5_HAVE_PARALLEL
# define MPICH_SKIP_MPICXX 1
# define OMPI_SKIP_MPICXX 1
# include <mpi.h>
#endif
--
mike
More information about the Pkg-octave-devel
mailing list