octave-maintainers
[Top][All Lists]
Advanced

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

Re: mpi.h vs. hdf5.h


From: Juan Pablo Carbajal
Subject: Re: mpi.h vs. hdf5.h
Date: Mon, 27 Apr 2015 11:19:31 +0200

On Mon, Apr 27, 2015 at 10:06 AM, Juan Pablo Carbajal
<address@hidden> wrote:
> On Fri, Apr 24, 2015 at 4:46 PM, Juan Pablo Carbajal
> <address@hidden> wrote:
>> On Fri, Apr 24, 2015 at 3:38 PM, Mike Miller <address@hidden> wrote:
>>> On Fri, Apr 24, 2015 at 12:58:44 +0200, Juan Pablo Carbajal wrote:
>>>> The problem came back in Ubuntu 15.04 none of the previous solutions
>>>> work this time.
>>>>
>>>> I have both libraries installed (apparently it is allowed in 15.04)
>>>
>>> Right, the latest packages allow co-installation, but also require you
>>> to choose your flavor and specify the include and library paths when
>>> compiling.
>>>
>>>> CFLAGS="-I/usr/lib/openmpi/include -I/usr/include/hdf5/openmpi"
>>>> CPPFLAGS="-I/usr/lib/openmpi/include -I/usr/include/hdf5/openmpi"
>>>> LDFLAGS="-L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/" ./configure
>>>>
>>>> However compilation fails
>>> [...]
>>>> Suggestions?
>>>
>>> The new packaging for HDF5 means you don't have to compile against an
>>> MPI HDF5 library if you don't want to, so I don't.
>>
>> That's ok, I wouldn't either I need to check if dolphin and fem-fenics
>> will be happy with that.
>>
>>>
>>> If you really want to link against one of the MPI flavors of HDF5, it
>>> looks like you will have to add -lmpi++ to your LIBS variable. Or
>>> compile Octave with one of the MPI compiler wrappers.
>>>
>>> FWIW I compile Octave with
>>>
>>>     ../configure --with-hdf5-includedir=/usr/include/hdf5/serial \
>>>                  --with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial
>>>
>>
>> Yay! Thanks a lot! This worked indeed... you are a hdf5 guru :)
>>
>>> More details: your error looks vaguely familiar to me. I think it's
>>> because HDF5 is a C library, so it doesn't link against the C++ MPI
>>> library when it is built. But when you build a C++ program against it,
>>> the includes pull in all of the MPI C++ definitions, so you do need the
>>> C++ MPI library.
>>>
>>> HTH,
>>>
>>> --
>>> mike
>
> :( This worked for configure, but at make time I still get
>
>                  from ../../stable/libinterp/octave-value/ov-cell.cc:40:
> ../../stable/libinterp/corefcn/oct-hdf5.h:27:18: fatal error: hdf5.h:
> No such file or directory
>  #include <hdf5.h>
>                   ^
> compilation terminated.
> Makefile:8556: recipe for target 'octave-value/ov-cell.df' failed
> make[2]: *** [octave-value/ov-cell.df] Error 1
> mv operators/ops.cc-t operators/ops.cc
> updating parse-tree/oct-parse.output
> updating parse-tree/oct-parse.h
> make[2]: Leaving directory '/home/juanpi/Devel/octave/stable-build/libinterp'
> Makefile:2123: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/juanpi/Devel/octave/stable-build'
> Makefile:1988: recipe for target 'all' failed
> make: *** [all] Error 2

The failure happens with stable branch, maybe the flags there are not
andled correctly?
These are the command that fail for me (Ubuntu 15.04):

./configure --with-hdf5-includedir=/usr/include/hdf5/serial
--with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial
--prefix=/tmp/octave --disable-gui
make -j7



reply via email to

[Prev in Thread] Current Thread [Next in Thread]