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: Mike Miller
Subject: Re: mpi.h vs. hdf5.h
Date: Tue, 4 Mar 2014 11:00:44 -0500

On Tue, Mar 4, 2014 at 16:36:14 +0100, Juan Pablo Carbajal wrote:
> In Ubuntu 13.10 amd64 the configure script of default repository fails
> to find HDF5 libraries. The error is misleading because what it fails
> to find is the mpi.h headers.
>
> I this system hdf5.h is in the default include path (/usr/include),
> but mpi is not.
> The following call to the include script erases the warning.
>
> CPPFLAGS=-I/usr/lib/openmpi/include/;
> CFLAGS=-I/usr/lib/openmpi/include/ ../default/configure
>
> Shall one add a test for MPI headers before the test for HDF5?

This has been a long-standing issue, see many threads in the Octave
lists and I think a couple of Debian bug reports or discussion
threads. I suppose such a test could be added, but I strongly dislike
Octave having to know these details about HDF5. MPI is completely
optional with HDF5 and Octave could not care less whether it was built
with or without MPI, or which MPI library was used.

By the way, this is exactly the error you were having in your thread
last week about an error installing the signal package. I gave a
reason for the error in that context, see my reply [1]. Now that you
are rebuilding Octave, you're encountering the same exact error.

One workaround is to install libhdf5-dev (which will uninstall
libhdf5-openmpi*). This is what I usually recommend if you don't
really need MPI-enabled HDF5.

My workaround is to always build Octave with
CPPFLAGS=-I/usr/include/mpi, this is sufficient to find MPI header
files if HDF5 needs them, otherwise they are ignored, and I can switch
HDF5 implementations without having to worry about which one I
installed last. This option is also saved and used in subsequent calls
to mkoctfile.

[1] 
http://octave.1599824.n4.nabble.com/OF-signal-Compilation-errors-due-to-mpi-h-tp4662484p4662490.html

-- 
mike


reply via email to

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