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
