[MPICH] problems linking with mpe

Anthony Chan chan at mcs.anl.gov
Mon Jan 8 04:46:10 CST 2007


Hi David,

On Mon, 8 Jan 2007, David Minor wrote:

> I agree the problem is not with mpe. I'm clearly doing something wrong
> with linking or perhaps the run-time linker isn't linking things in the
> proper order. I use the term dll as a generic term for "dynamic linked
> library", on linux they have a .so suffix and on windows .dll. I'm
> working in linux. I have a dll and an executable. The executable is
> launched by mpiexec, run from another program, all environemnt variables
> are passed in and the program runs correctly. There are simply no log
> files created either in /tmp or in the working directory. if I do nm
> [binary file] | c++filt | grep -i mpe | wc -l, I get 50 on both the dll
> and the executable file (same results for cpi as well), meaning there
> are 50 symbols with MPE_ in them. I'm also using c++ not c, if that
> makes a difference. What could be preventing the logging from taking
> place?

I actually don't know what exactly went wrong in your app.  Since MPE
logging is enabled through a specific linking order, my guess is that
some(if not all) of your .so files may not have their symbols resolved
correctly with liblmpe.a and libmpe.a.  Having MPE symbols does not
necessarily mean that linking order is done correctly.  Since you are
using C++, I would think that you need to resolve all MPI C++ binding
first, i.e. that is the linking order should
...  -lmpichcxx -llmpe -lmpe -lmpich ...
Is it what you did ?

A.Chan




More information about the mpich-discuss mailing list