Phil,

Did you simply try `--with-pmi` ?

According to the configury macros, we look for /usr/include/pmi.h and then 
/usr/include/slurm/pmi.h, so that should work just fine.

If not, can you please compress and post your config.log ?

Cheers,

Gilles

Phil K via devel <devel@lists.open-mpi.org> wrote:
>Exactly.  Sorry if my opener was long-winded and obscure.  You can see below 
>OMPI finds the pmi libraries, but misses the headers
>
>because it's adding "/include" to my path which I don't want it to do.
>
>
>./configure --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr
>
>
>checking if user requested PMI support... yes
>checking for pmi.h in /usr/include/slurm/include... not found               
><--- whoops
>checking for pmi.h in /usr/include/slurm/include/slurm... not found         
><--- whoops
>checking for libpmi in /usr... 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              
><---- whoops  
>checking for pmi2.h in /usr/include/slurm/include/slurm... not found        
><---- whoops
>checking for libpmi2 in /usr... 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/lib
>configure: WARNING:     /usr/lib64
>configure: WARNING: Specified path: /usr
>configure: error: Aborting
>
>
>
>On Saturday, September 2, 2017 1:20 PM, "r...@open-mpi.org" 
><r...@open-mpi.org> wrote:
>
>
>
>Okay, so this has nothing to do with the internal pmix or the pmi-1/2 headers 
>it provides, which is what confused me. You are building the SLURM pmi support 
>for OMPI, which does indeed use the slurm-provided headers and pmi libraries.
>
>
>Someone can take a look at that as it should check first in the given 
>directory, and then in the include subdir. However, you might also then need 
>to specify --with-pmi-libdir to find the libraries.
>
>
>
>On Sep 2, 2017, at 9:37 AM, Phil K <pkde...@yahoo.com> wrote:
>
>
>The issue is getting through the OMPI configure without error which you   
>_cannot_ when using --with-pmi=/usr/include/slurm if pmi.h and pmi2.h are 
>installed *only* in /usr/include/slurm.
>
>
>
>On Saturday, September 2, 2017 9:55 AM, "r...@open-mpi.org" 
><r...@open-mpi.org> wrote:
>
>
>
>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
>
>
>
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel

Reply via email to