Loris Bennett <[email protected]> writes: > Loris Bennett <[email protected]> writes: > >> Hi, >> >> When installing >> >> OpenMPI-2.1.0-GCC-6.3.0-2.28.eb >> >> on a machine with >> >> Slurm 19.05.3-2 >> >> I get the following error: >> >> checking if user requested PMI support... yes >> checking for pmi.h in /usr/include/slurm/include... not found >> checking for pmi.h in /usr/include/slurm/include/slurm... not found >> checking for libpmi in /usr/lib64... found >> checking for PMI_Init in -lpmi... yes >> checking for pmi2.h in /usr/include/slurm/include... not found >> checking for pmi2.h in /usr/include/slurm/include/slurm... not found >> checking for libpmi2 in /usr/lib64... found >> checking for PMI2_Init in -lpmi2... yes >> checking can PMI support be built... no >> configure: WARNING: PMI support requested (via --with-pmi) but neither >> pmi.h >> configure: WARNING: nor pmi2.h were found under locations: >> configure: WARNING: /usr/include/slurm >> configure: WARNING: /usr/include/slurm/slurm >> configure: WARNING: Specified path: /usr/include/slurm >> configure: WARNING: OR neither libpmi nor libpmi2 were found under: >> configure: WARNING: /usr/lib64/lib >> configure: WARNING: /usr/lib64/lib64 >> configure: WARNING: Specified path: /usr/lib64 >> configure: error: Aborting >> >> Slurm was installed from the sources and on my system the PMI headers >> are at >> >> /usr/include/pmi.h >> /usr/include/slurm/pmi.h >> /usr/include/pmi2.h >> /usr/include/slurm/pmi2.h >> >> Is the configure looking in the wrong place or were the PMI headers in a >> different place in previous versions of Slurm? > > So, config.log says: > > This file contains any messages produced by compilers while > running configure, to aid debugging if configure makes a mistake. > > It was created by Open MPI configure 2.1.0, which was > generated by GNU Autoconf 2.69. Invocation command line was > > $ ./configure > --prefix=/trinity/shared/easybuild/software/OpenMPI/2.1.0-GCC-6.3.0-2.28 > --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --enable-shared > --enable-mpi-thread-multiple --with-verbs --enable-mpirun-prefix-by-default > --with-hwloc=/trinity/shared/easybuild/software/hwloc/1.11.6-GCC-6.3.0-2.28 > --without-ucx --with-slurm --with-pmi=/usr/include/slurm > --with-pmi-libdir=/usr/lib64 > > So while > > --with-pmi=/usr/include/slurm > > is given, which is indeed the directory containing the header files. > However, configure doesn't look into this directory but instead looks at > the for the non-existent 'include' and 'include/slurm' subdirectories: > > configure:80629: result: yes > configure:80664: checking for pmi.h in /usr/include/slurm/include > configure:80671: result: not found > configure:80673: checking for pmi.h in /usr/include/slurm/include/slurm > > configure:80925: checking for pmi2.h in /usr/include/slurm/include > configure:80932: result: not found > configure:80934: checking for pmi2.h in /usr/include/slurm/include/slurm > configure:80942: result: not found > > The problem seems to be that the OpemMPI 'configure' incorrectly adds > 'include' and 'include/slurm' to the variable $check_pmi_install_dir. > > So is this version of OpenMPI just broken, as far as configure goes?
Or rather, is the part of EasyBuild (the EasyBlock??) which sets --with-pmi=/usr/include/slurm at fault? Cheers, Loris -- Dr. Loris Bennett (Mr.) ZEDAT, Freie Universität Berlin Email [email protected]

