I’m honestly confused by this as I don’t understand what you are trying to 
accomplish. Neither OMPI nor PMIx uses those headers. PMIx provides them just 
as a convenience for anyone wanting to compile a PMI based code, and so that we 
could internally write functions that translate from PMI to the equivalent PMIx 
calls.

So you can compile your code with -any- PMI header you want - so long as you 
then link your code to a PMIx library, it doesn’t matter if that header differs 
somewhat from the one we use. All that matters is that any function call you 
use matches the one we wrote against. We took ours directly from the MPICH 
official ones.

Ralph

> On Sep 1, 2017, at 10:08 PM, Phil K via devel <devel@lists.open-mpi.org> 
> wrote:
> 
> 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 rip
> out the pmix-provided pmi.h and pmi2.h development headers and use those 
> supplied by slurm since openmpi
> will link to the slurm-provided pmi libraries and I like to match headers and 
> libraries properly.  (Yes the headers
> are 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 not
> in /usr/include/slurm/include.  There is no way to specify an absolute path 
> to a header directory.  So here's
> what I did:
> 
> (unpack tarball to /path/to/openmpi-2.1.1)
> cd /path/to/openmpi-2.1.1
> mkdir slurm
> ln -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

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

Reply via email to