LAM/MPI logo

LAM 7.0.6 Release Notes

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just 7.0
This page provides the platform-specific release notes for LAM. The bulk of the release notes for LAM/MPI 7.0.6 are in the Installation Guide and User's Guide. Both documents are also included in the doc/ directory of every LAM/MPI tarball.

Platform:

  • AIX
  • HP-UX
  • IRIX
  • Linux
  • Mac OS X
  • OpenBSD
  • Solaris
  • Microsoft Windows (Cygwin)


    AIX

    Building LAM/MPI as shared libraries is not well tested with the xlc compiler suite, and is not supported. With more recent releases of AIX and the compiler suite, it may be possible to build correct shared libraries on AIX. There have been reports of linker errors similar to those of Mac OS X when building with --disable-static --enable-shared. LAM will build properly but fail with strange errors from the LAM daemon involving nsend.

    To build LAM/MPI in 64-bit mode with the xlc/xlC/xlf compilers, it is recommended that the environment variable OBJECT_MODE be set to 64 before running LAM's configure script. Building 64-bit mode with the GNU compiler is not tested, but should be possible.

    Finally, there have been repeatable problems with AIX's make when building ROMIO. This does not appear to be ROMIO's fault -- it appears to be a bug in AIX's make. The LAM Team suggests that you use GNU make when building if you see failures when using AIX's make to avoid these problems.


    HP-UX

    It appears that the default C++ compiler on HP-UX (CC) is a pre-ANSI standard C++ compiler. As such, it will not build the C++ bindings package. The C++ compiler aCC should be used instead.


    IRIX

    Parts of LAM/MPI use the C++ Standard Template Library (STL). The IRIX Workshop compilers require an additional flag to compile STL code properly. The following flag must be added to the CXXFLAGS environment variable before running LAM's configure script: -LANG:std

    Note that setting CXXFLAGS will override any automatic selection of optimization flags. Hence, if you want the C++ code in LAM to be compiled with optimization, you will need to set both -LANG:std and any optimization flags in CXXFLAGS.

    For example:

    shell$ CXXFLAGS="-LANG:std -O3"
    shell$ export CXXFLAGS
    shell$ ./configure ...
    


    Linux

    LAM/MPI is frequently used on Linux-based machines (IA-32 and otherwise). Although LAM/MPI is generally tested on Red Hat and Mandrake Linux systems using recent kernel versions, it should work on other Linux distributions as well.

    There appears to be an error in the awk shipped with Red Hat 7.2 for IA-64, which will cause strange failures in the LAM test suite. Rather than using make check, we recommend specifying the available RPIs manually: make check MODES="usysv sysv tcp", replacing the list with whatever RPIs are available in your installation.

    The Portland Group compiler suite requires special flags to build shared libraries which Libtool does not properly provide. It does not appear possible to build shared libraries using the Portland group compilers.

    Using the Intel compiler suite with unsupported versions of glibc may result in strange errors while building LAM. This is a problem with the compiler-supplied header files, not LAM. For more information, see either the LAM mail archives or the Intel support pages.

    Note that kernel versions 2.2.0 through 2.2.9 had some TCP/IP performance problems. It seems that version 2.2.10 fixed these problems; if you are using a Linux version between 2.2.0 and 2.2.9, LAM may exhibit poor TCP performance due to the Linux TCP/IP kernel bugs. We recommend that you upgrade to 2.2.10 (or the latest version). See our Linux notes for a full discussion of the problem.


    Mac OS X

    The Apple developer's CD does not include a Fortran compiler. If you do not wish to use Fortran, you need to tell LAM not to build the Fortran bindings. The without-fc flag to LAM's configure script will tell LAM to skip building the Fortran MPI bindings.

    The Apple dynamic linker works slightly differently than most Unix linkers. Due to a difference in symbol resolution when using the shared libraries, it is not possible to build only shared libraries. It is possible to build LAM/MPI with both shared and static libraries; the build system will automatically statically link the binaries that can not be dynamically linked.

    In previous versions of LAM, it was necessary to pass the argument --with-romio-flags=-DNO_AIO to the ROMIO build system in order to properly compile. This is no longer needed; LAM will pass the correct flags to ROMIO automatically.


    OpenBSD

    The make on some versions of OpenBSD requires the -i option for the clean target: make -i clean.


    Solaris

    To build LAM/MPI in 64-bit mode with the Sun Forte compilers, it is recommended that the compiler option -xarch=v9 be used.

    Building shared libraries in 64-bit mode with the Sun Forte compilers is not possible due to a bug in the GNU Libtool package. Specifically, Libtool does not pass CFLAGS to the linker, which causes the linker to attempt to build a 64-bit shared object. One possible workaround (which has not been tested by the LAM development team) is to write a ``wrapper'' ld script that inserts the proper flags and then calls the Solaris ld.

    TotalView support on Solaris may require special compiler flags -- in particular, for some versions of the Forte compilers, you may have to use the configure option --with-tv-debug-flags="-g -W0,-y-s" to work around a bug in the Forte compiler suite.


    Microsoft Windows (Cygwin)

    LAM has been lightly tested on Cygwin platforms. The general consensus is that LAM will not work properly under Cygwin because of some outstanding portability issues that have not yet been solved. The most difficult of which is file descriptor passing, which is currently not available under the Cygwin environment.