<div>Hi:</div>
<div><br>The .so is a wrapper of mpich2 functions. </div>
<div>MPE is used to output log files for debugging.</div>
<div> </div>
<div>Now I just use -fPIC to compile MPE and link libmpe.a into a .so file.</div>
<div> </div>
<div> </div>
<div>Seifer<br></div>
<div class="gmail_quote">2009/5/5 Anthony Chan <span dir="ltr">&lt;<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Seifer,<br>
<div class="im">----- &quot;Seifer Lin&quot; &lt;<a href="mailto:seiferlin@gmail.com">seiferlin@gmail.com</a>&gt; wrote:<br><br><br>&gt; Now I want to port this DLL to Linux as the .so file.<br>&gt; I try to build mpich with<br>
&gt; ./configure --enable-sharedlibs=gcc --with-pm=smpd --with-pmi=smpd<br>&gt;<br>&gt; but I only find libmpich.so and libmpe.a.<br>&gt; How to build mpe as the .so (libmpe.so) ?<br><br></div>MPE currently does not have shared library support yet.<br>
If you really need libmpe.so, you can build MPE as a standalone<br>package for MPICH2 with CFLAGS set to -fPIC.  You can then<br>use the .o files (from libmpe.a) and build your own libmpe.so.<br><br>To build typical MPI executable, you can mix libmpich.so and libmpe.a.<br>

<div class="im"><br>&gt; Without libmpe.so, I got the error when building my .so file.<br><br></div>What .so file you are building that needs libmpe.so ?<br><br>A.Chan<br>
<div>
<div></div>
<div class="h5"><br>&gt;<br>&gt; /usr/bin/ld: ./mpich2-x64/src/mpe2/lib/libmpe.a(mpe_log.o):<br>&gt; relocation<br>&gt; R_X86_64_32 against `a local symbol&#39; can not be used when making a<br>&gt; shared<br>&gt; object; recompile with -fPIC<br>
&gt; ./mpich2-x64/src/mpe2/lib/libmpe.a: could not read symbols: Bad value<br>&gt; collect2: ld returned 1 exit status<br>&gt;<br>&gt;<br>&gt; regards,<br>&gt;<br>&gt; Seifer Lin<br></div></div></blockquote></div><br>