On Sep 9, 2004, at 1:04 PM, Peter Schmid wrote:
> # MPICH LINE
> #MPILIB = -L$(MPIDIR)/lib -lmpichf90 -lmpich -lPEPCF90
> # LAM LINE
> MPILIB = -L$(MPIDIR)/lib -llamf77mpi -llam -lmpi -llammpi++
> -llammpio
>
> Anyone there familar with MPICH vs LAM.. and can give me some pointers
> to
> pass onto my developers?
This style of building MPI apps is (IMHO) an unfortunate throwback to
the mid-90's when the MPI wrapper compilers were not nearly as
reliable. These days, there are very, very few reasons to list the MPI
libraries and whatnot directly in your makefile.
9999 times out of 10000, you can just use LAM's "mpicc", "mpiCC" (or
"mpic++" if you're on a case-insensitive filesystem) or "mpif77"
wrapper compilers and they take care of all of this magic for you. So
I would leave MPILIB blank (and any other Make macros that specify
CFLAGS, LDFLAGS, or anything like that).
That *might* solve your problem. I have to admit that I'm not quite
sure how you'd end up with a LAM library (liblam, to be specific) that
doesn't have lam_strncpy or argvfree... Those symbols should be in
liblam regardless of your platform, etc. Hence, my best guess at this
point is that you're linking to the "wrong" liblam somehow, or your
liblam is somehow missing some symbols. Do you/your developers have
the output from configure and make when building LAM?
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|