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]

Reply via email to