LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2003-08-06 15:20:35


On Tue, 5 Aug 2003, Peter [iso-8859-1] Schütz wrote:

> 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?

There have been various problems with icc discussed here on the mailing
list, most of which are the fault of the substitute header files that icc
provides (i.e., there's nothing that LAM can do about it).

You might want to search the list history for the prior discussions. One
helpful post sticks out in particular:

       http://www.lam-mpi.org/MailArchives/lam/msg06465.php

It's really about icc 7.1, but the same kinds of issues may apply to 7.0
(see registry.c mentioned, for example).

> 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

If you compiled against dynamic Intel libraries, ensure that your
LD_LIBRARY_PATH is set so that the environment can find them. You need to
have this environment variable set on *all* nodes (i.e., it probably needs
to be set in your "dot" files so that when you lamboot, the LAM daemons
get this variable in their environments and it gets inherited by MPI
processes).

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/