LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Olof Mattsson (olof_at_[hidden])
Date: 2006-03-27 01:40:42


Hi

I only had to change the line

MPlib = $(MPdir)/lib/libmpich.a

to

MPlib = -lmpi -llam

then could I compile it without errors. Now I have to get the benchmark to run on more then 4 CPUs but thats for another mailinglist.

Thanks!

Andrew Friedley wrote:
> Olof Mattsson wrote:
> > Hi!
> >
> > We're trying to compile HPCC on our OSCAR cluster and we can compile it
> > if we use mpich 1.2.7 but since we use LAM/MPI on our cluster we can't
> > run the benchmark. We get:
> > HPL ERROR from process # 0, on line 440 of function HPL_pdinfo:
> > >>> Need at least 4 processes for these tests <<<
> >
> > As far as I've understud this is because we used mpich to compile HPCC
> > and uses LAM/MPI to run it. But if I change the makefile to use
> > lam-7.0.6 instead I get this compilation error:
>
> Right - You should always use the same MPI for both compiling and
> running an application.
>
> > /lam-7.0.6/lib/libmpich.a -lm
> > /opt/lam-7.0.6/lib/libmpi.a(lammpiinit.o)(.bss+0x0): multiple definition
> > of `MPIR_being_debugged'
> > /opt/lam-7.0.6/lib/libmpich.a(debugutil.o)(.bss+0x0): first defined here
> > collect2: ld returned 1 exit status
> > /opt/lam-7.0.6/bin/mpif77: No such file or directory
> > make[1]: *** [../../../../hpcc] Error 1
> > make[1]: Leaving directory `/home/oscartst/hpcc-1.0.0/hpl/lib/arch/build'
> > make: *** [all] Error 2
>
> The first thing I notice are the references to libmpich.a, which you
> should not see if you are using LAM. Check out below..
>
> > # ----------------------------------------------------------------------
> > # - Message Passing library (MPI) --------------------------------------
> > # ----------------------------------------------------------------------
> > # MPinc tells the C compiler where to find the Message Passing library
> > # header files, MPlib is defined to be the name of the library to be
> > # used. The variable MPdir is only used for defining MPinc and MPlib.
> > #
> > #MPdir = /opt/lam-7.0.6
> > #MPinc = $(MPdir)/include
> > #MPlib = -lmpi -llam
> > MPdir = /opt/lam-7.0.6
> > MPinc = -I$(MPdir)/include
> > MPlib = $(MPdir)/lib/libmpich.a
>
> This is wrong - if you are compiling with LAM you should not have
> references to libmpich.a. You probably want the MPlib line that is
> commented out just above instead. I just found this at a quick glance -
> if you still have problems and you see MPICH references in the output,
> keep looking for other things like this. Also make sure your
> environment is set up properly - to be safe, only paths to your LAM
> installation should be present, and MPICH should not be anywhere in your
> paths (PATH, LD_LIBRARY_PATH).
>
> Hope this helps!
>
> Andrew
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>