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-27 21:42:35


On Tue, 26 Aug 2003, wei zhang wrote:

> Following your comments, we set $TMPDIR to "." and the lamboot now works
> okay.

That's not quite what I meant -- you shouldn't need to do that.

Specifically, setting TMPDIR should (and evidently does) work fine, but it
should not be necessary. My mail to you was asking if you *had* set
TMPDIR to ".", because that's what the output you sent could imply (e.g.,
you had set TMPDIR in the session that you lambooted from, but then ran in
a session that did *not* have TMPDIR set, or some other similar scenario).

> A sample C program can be paralleled.(mpirun works okay.)

Good.

> But mpif77 still does not work. The --with-fc=f77 option has been used
> in my configure.
> [snipped]
> mpif77 wave.f -o wave
>
> Error: bad option: -pthread
> mpif77: No such file or directory

It looks like the underlying fortran compiler does not like the "-pthread"
argument, although the C and C++ compilers must accept it without
complaint. Two notes about this:

1. This may indicate that you are mixing GNU and non-GNU compilers. When
using a non-GNU Fortran compiler, this sometimes works fine, but other
times may not work as expected (i.e., it has nothing to do with LAM --
it's a compiler/linker comptability issue). You need to ensure that you
can use this fortran compiler with GNU-produced C code (because it seems
you have compiled LAM with the GNU C compilers). Compiler compatability
is critical.

2. As mentioned in #1, there *are* situations where you can use
mis-matched compilers and everything can work properly (e.g., compile a C
file with gcc and compile a fortran file with some non-GNU fortran
compiler, link them together, and have it work properly). LAM 7.0's
configure script did not handle this correctly -- it only checked to see
if -pthread worked with the C compiler and did not explicitly check to see
if it worked with the fortran compiler. This has been fixed and will be
released in 7.0.1 in the not-distant future. There are two temporary
workarounds possible:

2a) Use compilers all from the same vendor (eg., all GNU or all non-GNU)
2b) Grab the latest CVS snapshot tarball (technically a snapshot of the
    CVS HEAD -- so 7.1) which should be "stable enough" until we can get
    7.0.1 out the door

Hope this helps.

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