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-06-17 07:51:29


On Tue, 17 Jun 2003, [ISO-8859-1] Richard Büssow wrote:

> -----
> ./configure --prefix=/opt/lam-6.5.9 --with-cc=icc --with-cflags="-O3
> -tpp7 -xW -Xa -w -ipo -ipo_obj" --with-cxx=icc --with-cxx flags="-O3
> -tpp7 -xW -Xa -w -ipo -ipo_obj" --with-fc=ifc --with-fflags="-O3 -tpp7
> -xW -w -ipo -ipo_opj" --with-trillium --with-rpi=tcp --with-rsh=rsh
> -----
> I get some output, and then:
> [snipped]

What is happening here is that LAM is trying to determine which symbol
convention is being used by the fortran compiler. It compiles a simple
fortran file and looks at the resulting symbols.

The error is occuring because the compiler is generating object files in a
non-standard filename. This appears to be because of the -ipo switch --
ifc is generating the output in a .il file instead of a .o file. Hence,
LAM's configure is looking at the .o file and seeing dummy output (and
therefore getting confused). Additionally, even if configure did know to
look at the .il file, nm doesn't know how to parse it (it appears to be an
intel-specific format).

This is a difficult problem for LAM to solve in the general case -- how
should it know that Intel's compiler will drop its output in a .il file,
and then how does it know how to parse it? Some obvious workarounds
include us hard-wiring the configure script to know Intel's symbol style,
but we try to avoid vendor-specific fixes like this because it creates a
nightmare in terms of maintenance for us (e.g., when/if the vendor ever
changes their behavior).

The only other obvious workaround is to not use the -ipo* switches in the
fflags. This actually doesn't cause any performance problems -- LAM does
not use a fortran compiler to built itself at all. It only uses the
fortran compiler in the configure script to determine the symbol style,
datatype sizes, etc. So removing -ipo* in the fflags should not cause any
problems, and allows me to build 6.5.9 properly.

Hope this helps.

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