LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Andrew Friedley (afriedle_at_[hidden])
Date: 2006-03-20 09:12:09


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