I just wanted to share a workaround I came up with for this openmpi configure 
issue.

When specifying header paths in configure, openmpi adds an /include subpath the 
--with-pmi specifier(and others).  This is documented very clearly.  Recently, 
in switching over to internal pmix, I wanted to ripout the pmix-provided pmi.h 
and pmi2.h development headers and use those supplied by slurm since 
openmpiwill link to the slurm-provided pmi libraries and I like to match 
headers and libraries properly.  (Yes the headersare similar but they are not 
identical).

On my distro, the pmix pmi.h and pmi2.h headers were in /usr/include, which 
openmpi finds with:

--with-pmi=/usr
After removing the pmix development headers, I am left with the slurm headers 
are in /usr/include/slurm.Unfortunately the configure item:

--with-pmi=/usr/include/slurm
fails to locate the pmi.h/pmi2.h slurm headers due to the addition of that 
/include subpath, i.e. they are notin /usr/include/slurm/include.  There is no 
way to specify an absolute path to a header directory.  So here'swhat I did:

(unpack tarball to /path/to/openmpi-2.1.1)cd /path/to/openmpi-2.1.1mkdir 
slurmln -s /usr/include/slurm /path/to/openmpi-2.1.1/slurm/include

then configure as follows:
./configure --with-pmi=/path/to/openmpi-2.1.1/slurm
The configure adds the /include subpath and finds the slurm pmi/pmi2 headers 
through my symlink.

Cumbersome, but it works.

Phil
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel

Reply via email to