[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#686926: Bug#686926: liboctave-dev: creates broken .oct files when the OpenMPI flavor of HDF5 (libhdf5-openmpi-dev) is installed



On Fri, Sep 7, 2012 at 8:51 AM, Sébastien Villemot wrote:
> Mike Miller <mtmiller@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



Reply to: