Looks to me like you should be using:
--with-pmi=/usr
It needs to find the headers and the libraries.

On Thu, 14 Nov 2019 at 11:49, Loris Bennett 
<loris.benn...@fu-berlin.de<mailto:loris.benn...@fu-berlin.de>> wrote:
Loris Bennett <loris.benn...@fu-berlin.de<mailto:loris.benn...@fu-berlin.de>> 
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?

Can anyone confirm?

Cheers,

Loris

--
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email 
loris.benn...@fu-berlin.de<mailto:loris.benn...@fu-berlin.de>


--
Dr. Alan O'Cais
E-CAM Software Manager
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone: +49 2461 61 5213
Fax: +49 2461 61 6656
E-mail: a.oc...@fz-juelich.de<mailto:a.oc...@fz-juelich.de>
WWW:    http://www.fz-juelich.de/ias/jsc/EN


------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Reply via email to