I see the problem - it isn't that slurm is not in a standard path, but rather that your slurm library subdir is named "lib64" instead of "lib". The patch looks good to me - I'll submit it for 1.6 and 1.7, plus add it to the trunk.


On Oct 30, 2012, at 9:11 AM, Guillaume.Papaure@ext.bull.net wrote:

I'm building openmpi with pmi support but there is an error during configure.
Currently slurm is not installed in standard /usr directory.
The configure is giving an error like :
 ./configure --prefix=/home_nfs/papaureg/soft/openmpi-1.9a1hg155f02ad65ba --with-slurm=/homes/papaureg/soft/slurm/usr --with-pmi=/homes/papaureg/soft/slurm/usr
checking if user requested PMI support... yes
checking if PMI support installed... checking pmi.h usability... yes
checking pmi.h presence... yes
checking for pmi.h... yes
checking for PMI_Init in -lpmi... no
configure: WARNING: PMI support requested (via --with-pmi) but not found.
configure: error: Aborting.

A quick look at config.log points the problem :
/usr/bin/ld: warning: libslurm.so.25, needed by /homes/papaureg/soft/slurm/usr/lib64/libpmi.so, not found (try using -rpath or -rpath-link)
/homes/papaureg/soft/slurm/usr/lib64/libpmi.so: undefined reference to `slurm_get_kvs_comm_set'
/homes/papaureg/soft/slurm/usr/lib64/libpmi.so: undefined reference to `slurm_send_kvs_comm_set'
/homes/papaureg/soft/slurm/usr/lib64/libpmi.so: undefined reference to `slurm_kill_job_step'
/homes/papaureg/soft/slurm/usr/lib64/libpmi.so: undefined reference to `slurm_pmi_finalize'
/homes/papaureg/soft/slurm/usr/lib64/libpmi.so: undefined reference to `slurm_free_kvs_comm_set'

Here is, in attachement, a patch to orte_check_pmi.m4 that solved this issue for me. This patch can also be used on 1.6 branch.
devel mailing list