Hello Michael,

I had this problem the other day when I was building Slurm on Arch. I had 
hdf-mpi package installed with OpenMPI and there was an inconsistency there as 
well. Basically the HDF5 implementation was built with mpio in mind, but the 
compiler invocation does not find an mpio.h as part of the OpenMPI 
installation. I guess my base point is I have a different HDF5 implementation 
on our HPC clusters to satisfy the Slurm requirements separate from the MPI 
enabled versions. Anyway, I’d be suspicious of the OpenMPI/HDF5 packages you’ve 
installed in Ubuntu and possibly open a bug if the HDF5 uses OpenMPI as the MPI 
implementation and doesn’t contain the mpio.h file. Can you compile a simple 
code with your MPI compiler wrapper that includes mpio.h?

Best,

Jared

From: Michael Gutteridge [mailto:[email protected]]
Sent: Thursday, September 10, 2015 12:41 PM
To: slurm-dev
Subject: [slurm-dev] Compile of 15.08.0 fails on trusty missing mpio.h

Hi

This really feels like an obvious one, but I'm having a devil of a time sorting 
out how to address this. I'm building Slurm 15.08.0 on Ubuntu 14.04 LTS with a 
minimal set of configure options:

--sysconfdir=/etc/slurm-llnl --localstatedir=/var/run/slurm-llnl --with-munge 
--without-blcr --enable-pam --without-rpath --disable-debug

Configure succeeds OK, but make fails a little while in during the build of the 
HDF5 components:

Making all in libsh5util_old
make[8]: Entering directory 
`/home/build/trusty/slurm-llnl/15.08.0/build/slurm-15.08.0/obj-x86_64-linux-gnu/src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old'
/bin/bash ../../../../../../libtool  --tag=CC   --mode=compile gcc 
-DHAVE_CONFIG_H -I. 
-I../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old
 -I../../../../../.. -I../../../../../../slurm  -I../../../../../../.. 
-I../../../../../../../src/common -I. -I/usr/lib/openmpi/include -I 
/usr/include  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -pthread -fno-gcse -c -o sh5util.lo 
../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old/sh5util.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. 
-I../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old
 -I../../../../../.. -I../../../../../../slurm -I../../../../../../.. 
-I../../../../../../../src/common -I. -I/usr/lib/openmpi/include -I 
/usr/include -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -pthread -fno-gcse -c 
../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old/sh5util.c
  -fPIC -DPIC -o .libs/sh5util.o
In file included from /usr/include/hdf5.h:24:0,
                 from 
../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old/hdf5_api.h:61,
                 from 
../../../../../../../src/plugins/acct_gather_profile/hdf5/sh5util/libsh5util_old/sh5util.c:72:
/usr/include/H5public.h:65:21: fatal error: mpio.h: No such file or directory
 #   include <mpio.h>
                     ^
compilation terminated.
make[8]: *** [sh5util.lo] Error 1


I have both OpenMPI (1.6.5) and MPICH (3.0.4) development packages installed- 
mpio.h is present in /usr/include/mpich/mpio.h.  If I add 
"CFLAGS=-I/usr/include/mpich" then the build succeeds.  That sort of feels 
kludgy- I'm of the opinion that the configure should have picked that up or 
that I don't, in fact, have the correct development headers installed.  We'd 
never needed/used MPICH in past... I thought OpenMPI would have supplied mpio.h.

Does anyone have any insights into this?  Should configure pick it up?  Is it a 
quirk of Ubuntu?

Thanks much

Michael




Reply via email to