On 2019-08-20 20:58, Gilles Filippini wrote:
Hi,

On Fri, 16 Aug 2019 12:34:56 +0800 Drew Parsons <[email protected]> wrote:
Package: libhdf5-openmpi-dev
Version: 1.10.4+repack-10
Severity: normal

hdf5-openmpi.pc provides CFLAGS for hdf5 as
  -I/usr/include/openmpi -I/usr/include/hdf5/openmpi

But /usr/include/openmpi is the wrong path. MPI header files are
multiarch, so in
-I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi
(for amd64).

The same applies to hdf5-mpich.

As I understand it hdf5-mpich.pc is correct:
$ pkg-config --cflags --libs hdf5-mpich
-I/usr/include/hdf5/mpich -I/usr/include/x86_64-linux-gnu/mpich
-L/usr/lib/x86_64-linux-gnu/hdf5/mpich -lhdf5 -Wl,-z,relro -lmpich -lm
-lbacktrace -lpthread -lrt

Ah, you are correct, hdf5-mpich already has the multiarch mpi include dir. I checked that libmpich-dev provided it multiarch, and had assumed libhdf5-mpich-dev had the same problem as libhdf5-openmpi-dev but hadn't confirmed it.


And hdf5-openmpi.pc only needs 'Requires: ompi' with no other
reference to openmpi CFLAGS and LIBS:
Name: HDF5
Description: Hierarchical Data Format 5 (HDF5) - OpenMPI version
Version: @VERSION@
Requires: ompi
Cflags: -I/usr/include/hdf5/openmpi
Libs: -L/usr/lib/@MULTIARCH@/hdf5/openmpi -lhdf5
..
Do we agree?

Yes, that looks good. Requires: ompi brings in the correct openmpi flags. Makes it consistent with hdf5-mpich.pc too, which already had Requires: mpich.

Thanks Gilles.

Drew

Reply via email to