LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Peter Schütz (peter.schutz_at_[hidden])
Date: 2003-08-05 16:54:41


Hello!
I have two problems:
1. I recently installed lam 7.0 on a linux machine (kernel 2.4.20) with both
        Intel C++ Compiler 7.1 Build 20030307Z and
        Intel Fortran Compiler 7.1 Build 20030307Z.
When using
        CC=icc
        CXX=icpc
        FC=ifc
        export CC CXX FC
to configure lam, I ran into the following problem:
make terminates with the following error
        compilation aborted for registry.c (code 2)
        make[2]: *** [registry.lo] Error 1
        make[2]: Leaving directory `/home/peters/tmp/lam-7.0/share/etc'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory `/home/peters/tmp/lam-7.0/share'
        make: *** [all-recursive] Error 1
I figured out that there is an error message already during ./configure:
        stropts.h present but cannot be compiled
I don't know if these to are related, but is there a workaround for this
problem?

2. I then configured lam only using
        FC=ifc
        export FC
and everything worked fine. Even the lamtests seemed to be successful. But if
I now compile the simple 'hello world'-fortran file
      PROGRAM hello
            INCLUDE 'mpif.h'
            INTEGER :: ierror, rank, size
            call MPI_INIT(ierror)
            call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
            if (rank .eq. 0) write(*,*) 'Hello World!!!'
            call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror)
            write (*,*) 'I am ', rank, 'out of ', size
            call MPI_FINALIZE(ierror)
      END PROGRAM
with
        mpif77 -o hello hello.f90
and run it with
        mpirun -np 2 hello
I get the following error message:
        -----------------------------------------------------------------------------
        It seems that [at least] one of the processes that was started with
        mpirun did not invoke MPI_INIT before quitting (it is possible that
        more than one process did not invoke MPI_INIT -- mpirun was only
        notified of the first one, which was on node n0).

        mpirun can *only* be used with MPI programs (i.e., programs that
        invoke MPI_INIT and MPI_FINALIZE). You can use the "lamexec" program
        to run non-MPI programs over the lambooted nodes.
        -----------------------------------------------------------------------------
I compiled the program on another parallel machine and there it works. So can
anyone tell me what is the problem (or even better: the solution). Sorry if
ask for something obvious, but I'm doing my first steps with lam and mpi
right now.
Thanks in advance

Peter Schütz