<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1511904995913_53348">Actually if you're set on installing pmix/pmix-devel from the rpms and then configuring slurm manually,</div><div id="yui_3_16_0_ym19_1_1511904995913_53348">you could just move the pmix-installed versions of libpmi.so* and libpmi2.so* to a safe place, configure</div><div id="yui_3_16_0_ym19_1_1511904995913_53348">and install slurm which will drop in its versions pf those libs and then either use the slurm versions or move</div><div id="yui_3_16_0_ym19_1_1511904995913_53348" dir="ltr">the the pmix versions of libpmi and libpmi2 back into place in /usr/lib64. </div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 13px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> On Tuesday, November 28, 2017 5:32 PM, Philip Kovacs <pkdevel@yahoo.com> wrote:<br></font></div>  <br><br> <div class="y_msg_container"><div id="yiv0414012041"><div><div style="color:#000;background-color:#fff;font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px;"><div id="yiv0414012041"><div id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_19392"><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, 255);font-size:13px;" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_19391"><div id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_14678">This issue is that pmi 2.0+ provides a "backward compatibility" feature, enabled by default, which installs</span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_19393">both libpmi.so and libpmi2.so in addition to libpmix.so.  The route with the least friction for you would probably</span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_19394">be to uninstall pmix, then install slurm normally, letting it install its libpmi and libpmi2.  Next configure and compile</span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_20421">a custom pmix with that backward </span>feature _disabled_, so it only installs libpmix.so.   Slurm will "see" the pmix library</div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style="">after you install it and load it via its plugin when you use --mpi=pmix.   Again, just use the Slurm pmi and pmi2 and </div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style="">install pmix separately with the backward compatible option disabled.</div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span><br></span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_20590">There is a packaging issue there in which two packages are trying to install their own versions of the same files.  </span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span>That s</span>hould be brought to attention of the packages.  Meantime you can work around it.</div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span><br></span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span>For PMIX:</span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><span><br></span></div><div dir="ltr" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_13882" style=""><font face="Courier New, courier, monaco, monospace, sans-serif" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_20598">./configure --disable-pmi-backward-compatibility // ... etc ...</font></div><div class="yiv0414012041qtdSeparateBR" id="yiv0414012041yui_3_16_0_ym19_1_1511904995913_19395" style=""><br clear="none"></div></div></div></div><div> <div style="font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div class="yiv0414012041qtdSeparateBR"><br><br></div><div class="yiv0414012041yqt7102444885" id="yiv0414012041yqtfd45512"><div dir="ltr"><font size="2" face="Arial"> On Tuesday, November 28, 2017 4:44 PM, Artem Polyakov <artpol84@gmail.com> wrote:<br clear="none"></font></div>  <br clear="none"><br clear="none"> <div class="yiv0414012041y_msg_container"><div id="yiv0414012041"><div><div dir="ltr">Hello, Paul<div><br clear="none"></div><div>Please see below.<br clear="none"><div class="yiv0414012041gmail_extra"><br clear="none"><div class="yiv0414012041gmail_quote">2017-11-28 13:13 GMT-08:00 Paul Edmon <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:pedmon@cfa.harvard.edu" target="_blank" href="mailto:pedmon@cfa.harvard.edu">pedmon@cfa.harvard.edu</a>></span>:<br clear="none"><blockquote class="yiv0414012041gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;">So in an effort to future proof ourselves we are trying to build Slurm against PMIx, but when I tried to do so I got the following:<br clear="none">
<br clear="none">
Transaction check error:<br clear="none">
  file /usr/lib64/libpmi.so from install of slurm-17.02.9-1fasrc02.el7.cen tos.x86_64 conflicts with file from package pmix-2.0.2-1.el7.centos.x86_64<br clear="none">
  file /usr/lib64/libpmi2.so from install of slurm-17.02.9-1fasrc02.el7.cen tos.x86_64 conflicts with file from package pmix-2.0.2-1.el7.centos.x86_64<br clear="none">
<br clear="none">
This is with compiling Slurm with the --with-pmix=/usr option.  A few things:<br clear="none">
<br clear="none">
1. I'm surprised when I tell it to use PMIx it still builds its own versions of libpmi and pmi2 given that PMIx handles that now.<br clear="none"></blockquote><div><br clear="none"></div><div>PMIx is a plugin and from multiple perspectives it makes sense to keep the other versions available (i.e. backward compat or perf comparison) </div><div> </div><blockquote class="yiv0414012041gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;">
<br clear="none">
2. Does this mean I have to install PMIx in a nondefault location?  If so how does that work with user build codes?  I'd rather not have multiple versions of PMI around for people to build against.<br clear="none"></blockquote><div>When we introduced PMIx it was in the beta stage and we didn't want to build against it by default. Now it probably makes sense to assume --with-pmix by default.</div><div>I'm also thinking that we might need to solve it at the packagers level by distributing "slurm-pmix" package that is builded and depends on the pmix package that is currently shipped with particular Linux distro.</div><div> </div><blockquote class="yiv0414012041gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;">
<br clear="none">
3.  What is the right way of building PMIx and Slurm such that they interoperate properly?<br clear="none"></blockquote><div>As for now it is better to have a PMIx installed in the well-known location. And then build your MPIs or other apps against this PMIx installation.</div><div>Starting (I think) from PMIx v2.1 we will have a cross-version support that will give some flexibility about what installation to use with application,</div><div> </div><blockquote class="yiv0414012041gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;">
<br clear="none">
Suffice it to say little to no documentation exists on how to properly this, so any guidance would be much appreciated.</blockquote><div>Indeed we have some problems with the documentation as PMIx technology is relatively new. Hopefully we can fix this in near future.</div><div>Being the original developer of the PMIx plugin I'll be happy to answer any questions and help to resolve the issues.</div><div class="yiv0414012041yqt4550724288" id="yiv0414012041yqtfd41798"><div><br clear="none"></div><div><br clear="none"></div><div> </div></div><blockquote class="yiv0414012041gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;"><span class="yiv0414012041gmail-HOEnZb"><font color="#888888"></font></span><div class="yiv0414012041yqt4550724288" id="yiv0414012041yqtfd43154"><br clear="none">
<br clear="none">
-Paul Edmon-</div><br clear="none">
<br clear="none">
<br clear="none">
</blockquote></div><br clear="none"><br clear="all"><div><br clear="none"></div>-- <br clear="none"><div class="yiv0414012041gmail_signature">С Уважением, Поляков Артем Юрьевич<br clear="none">Best regards, Artem Y. Polyakov</div><div class="yiv0414012041yqt4550724288" id="yiv0414012041yqtfd01302">
</div></div></div></div></div></div><br clear="none"><br clear="none"></div>  </div></div><div class="yiv0414012041yqt7102444885" id="yiv0414012041yqtfd28013"> </div></div><div class="yiv0414012041yqt7102444885" id="yiv0414012041yqtfd78525">  </div></div></div></div></div><br><br></div>  </div> </div>  </div></div></body></html>