<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 1 6 1 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
code
{mso-style-priority:99;
font-family:"Courier New";}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I was able to fix the "pmi2.h" error by adding `--with-slurm-include=/usr/include/slurm` to the configure command. However, I encountered another error:<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">>> 9796 src/util/mpir_pmi.c(781): error: identifier "PMI_keyval_t" is undefined<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> 9797 static int mpi_to_pmi_keyvals(MPIR_Info * info_ptr, PMI_keyval_t ** kv_ptr, int *nkeys_ptr);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> 9798 ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> 9799 <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> >> 9800 src/util/mpir_pmi.c(782): error: identifier "PMI_keyval_t" is undefined<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> 9801 static void free_pmi_keyvals(PMI_keyval_t ** kv, int size, int *counts);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> 9802 ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Upon checking the pmi2.h file, I found the following:<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">/* This is here to allow spawn multiple functions to compile. This<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> needs to be removed once those functions are fixed for pmi2 */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">/*<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">typedef struct PMI_keyval_t<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> char * key;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> char * val;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">} PMI_keyval_t;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">*/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">The “PMI_keyval_t" struct is commented out. We are using the same SLURM version for other mvapich2 installations. Does this mean we need to upgrade SLURM or PMI2?<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thank you,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-ZQ<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Mvapich-discuss <mvapich-discuss-bounces@lists.osu.edu> on behalf of Shineman, Nat via Mvapich-discuss <mvapich-discuss@lists.osu.edu><br>
<b>Date: </b>Wednesday, May 10, 2023 at 9:20 AM<br>
<b>To: </b>christof.koehler@bccms.uni-bremen.de <christof.koehler@bccms.uni-bremen.de>, c.koehler@uni-bremen.de <c.koehler@uni-bremen.de>, Announcement about MVAPICH2 (MPI over InfiniBand, RoCE, Omni-Path, iWARP and EFA) Libraries developed at NBCL/OSU <mvapich-discuss@lists.osu.edu><br>
<b>Subject: </b>Re: [Mvapich-discuss] mvapich2 3.0a build failure finding pmi2.h<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Hi Cristof, <o:p>
</o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Thanks for the bug report. Looks like our configure script is checking for the file
</span><code><span style="color:black">slurm/pmi2.h</span></code><span style="font-size:12.0pt;color:black"> while the actual file includes
</span><code><span style="color:black">pmi.h</span></code><span style="font-size:12.0pt;color:black"> without the slurm prefix. This include was changed in 3.0 to support non-slurm installations of pmi2. The easiest way to solve this is to set the environment
variable </span><code><span style="color:black">CPATH=/usr/include/slurm:$CPATH</span></code><span style="font-size:12.0pt;color:black"> (or using whatever path your slurm include directory resides on). Alternatively, you can add
</span><code><span style="color:black">MPICHLIB_CFLAGS=-I/usr/include/slurm</span></code><span style="font-size:12.0pt;color:black"> as an argument to configure.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Either of the above options should get you past the build error for now. We will also look into having our configure script automatically detect slurm based pmi installations and adapt the paths
appropriately. As a final note, we do recomend using pmi1 with slurm when possible (as do the upstream developers of MPICH) as it is a more stable and standardized provider than pmi2, which was never completed. Slurm's
</span><code><span style="color:black">--with-mpi=pmi2</span></code><span style="font-size:12.0pt;color:black"> actually supports both the pmi1 and and pmi2 interface.
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Please let me know if you have any further issues building MVAPICH 3.0a.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Nat<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-size:11.0pt">
<hr size="0" width="100%" align="center">
</span></div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;color:black">From:</span></b><span style="font-size:11.0pt;color:black"> Mvapich-discuss <mvapich-discuss-bounces+shineman.5=osu.edu@lists.osu.edu> on behalf of christof.koehler--- via Mvapich-discuss <mvapich-discuss@lists.osu.edu><br>
<b>Sent:</b> Wednesday, May 10, 2023 04:06<br>
<b>To:</b> mvapich-discuss@lists.osu.edu <mvapich-discuss@lists.osu.edu><br>
<b>Subject:</b> [Mvapich-discuss] mvapich2 3.0a build failure finding pmi2.h</span><span style="font-size:11.0pt">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hello everybody,<br>
<br>
we have an Cornelis Omni-Path system and therefore would like to start<br>
testing mvapich2 3.0a. However, I am currently unable to build it.<br>
I would like to add that building mvpaich2 2.3.7-1 with slurm/pmi2 on<br>
the same system works fine.<br>
<br>
For mvapich2 3.0a the configure step using<br>
FFLAGS=-fallow-argument-mismatch ./configure --with-pm=slurm --with-pmi=pmi2<br>
succeeds.<br>
<br>
But in the make step the build stops with<br>
<br>
make[2]: Entering directory '/backup1/build_temp/mvapich2-3.0a'<br>
CC src/mpi/attr/lib_libmpi_la-attr_delete.lo<br>
In file included from ./src/include/mpiimpl.h:130,<br>
from src/mpi/attr/attr_delete.c:6:<br>
./src/include/mpir_pmi.h:18:10: fatal error: pmi2.h: No such file or<br>
directory<br>
18 | #include <pmi2.h><br>
| ^~~~~~~~<br>
compilation terminated.<br>
<br>
In fact we have /usr/include/slurm/pmi2.h and this is apparently picked<br>
up correctly by configure:<br>
<br>
> grep pmi2.h configure.out <br>
checking slurm/pmi2.h usability... yes<br>
checking slurm/pmi2.h presence... yes<br>
checking for slurm/pmi2.h... yes<br>
<br>
So this is a bit confusing. Also, because according to the mailing list<br>
some people already built it and did not report such an error.<br>
<br>
I attach the gzipped config.log, the configure stdout (configure.out) and <br>
the stdout of the make step (make.out) to this email.<br>
<br>
Best Regards<br>
<br>
Christof<br>
<br>
-- <br>
Dr. rer. nat. Christof Köhler email: c.koehler@uni-bremen.de<br>
Universitaet Bremen/FB1/BCCMS phone: +49-(0)421-218-62334<br>
Am Fallturm 1/ TAB/ Raum 3.06 fax: +49-(0)421-218-62770<br>
28359 Bremen <o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>