<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"><<a href="mailto:chan@mcs.anl.gov">chan@mcs.anl.gov</a>></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">----- "Seifer Lin" <<a href="mailto:seiferlin@gmail.com">seiferlin@gmail.com</a>> wrote:<br><br><br>> Now I want to port this DLL to Linux as the .so file.<br>> I try to build mpich with<br>
> ./configure --enable-sharedlibs=gcc --with-pm=smpd --with-pmi=smpd<br>><br>> but I only find libmpich.so and libmpe.a.<br>> 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>> 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>><br>> /usr/bin/ld: ./mpich2-x64/src/mpe2/lib/libmpe.a(mpe_log.o):<br>> relocation<br>> R_X86_64_32 against `a local symbol' can not be used when making a<br>> shared<br>> object; recompile with -fPIC<br>
> ./mpich2-x64/src/mpe2/lib/libmpe.a: could not read symbols: Bad value<br>> collect2: ld returned 1 exit status<br>><br>><br>> regards,<br>><br>> Seifer Lin<br></div></div></blockquote></div><br>