This is the command mpif77.lam that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
mpif77 - Compile LAM FORTRAN programs.
SYNOPSIS
mpif77 [-showme|-showme:compile|-showme:link] ...
OPTIONS
-showme
Does not invoke the underlying FORTRAN compiler. Instead, it shows the full
command line that would be executed to compile the FORTRAN program.
-showme:compile
Does not invoke the underlying FORTRAN compiler. Instead, it shows the compiler
flags that would be supplied to the FORTRAN compiler.
-showme:link
Does not invoke the underlying FORTRAN compiler. Instead, it shows the linker
flags that would be supplied to the FORTRAN compiler.
See f77(1) (or whatever your underlying FORTRAN compiler is) for all other options.
DESCRIPTION
mpif77 is a convenience wrapper for the local native FORTRAN compiler. Translation of a
LAM program requires the linkage of the LAM essential services libraries which may not
reside in one of the standard search directories of ld(1). mpif77 passes its arguments
along to the local native FORTRAN compiler along with the -L and -l options required by
LAM/MPI programs. This includes all necessary options for ROMIO and/or C++ bindings
support (if ROMIO/C++ support was included when LAM was compiled).
The LAM Team strongly encourages using mpif77 instead of attempting to link to the LAM
libraries manually. This allows the specific implementation of LAM to change without
forcing changes to linker directives in users' Makefiles (the specific set of underlying
LAM libraries has already changed multiple times, and will likely change again in future
versions).
Indeed, since mpif77 is a very thin wrapper on top of an underlying compiler, there are
very, very few compelling reasons not to use mpif77. When it is not possible to use
mpif77, the -showme:compile and -showme:link arguments should be used instead. For
example:
shell$ f77 -c file1.f `mpif77 -showme:compile`
shell$ f77 -c file2.f `mpif77 -showme:compile`
shell$ f77 file1.o file2.o `mpif77 -showme:link` -o my_mpi_program
ENVIRONMENT VARIABLES
By default, mpif77 uses the FORTRAN compiler that was selected when LAM was configured
(with the --with-fc flag to ./configure) as the local native FORTRAN compiler, but this
can be overridden by the LAMMPIF77 environment variable (an older name for this
environment variable is LAMHF77 -- this also still works, but its use is deprecated).
If the environment variable LAMHOME is set, mpif77 will use its value as the location of
the LAM installation directory instead of the value that was compiled into mpif77. This
means that mpif77 will use the value of LAMHOME as the base to create the -I and -L
arguments that are passed to the lower-level compiler, not the installation directory that
was supplied when mpif77 was created. This is almost always a Bad Idea.
The use of LAMHOME is discouraged except for some rare configuration cases in oddly
networked sites (in which case your system administrator should probably set this up), and
for advanced users with multiple LAM/MPI installations who really know what they are
doing; if the LAMHOME environment variable is unintentionally left set, it can lead to
tremendous user confusion. For example, if LAMHOME points to LAM installation A, but the
user's PATH points to LAM installation B, then even though B's mpif77 will be used, the
user program will be compiled and linked against LAM installation A.
The LAMHOME environment variable is mainly only left in place for backwards compatibility;
it is not required for normal functioning of LAM/MPI. The LAM Team discourages the use of
the LAMHOME environment variable, and instead advocates simply setting the PATH properly
to switch between multiple LAM/MPI implementations.
NOTES
Previous versions of LAM encouraged the use of hf77 to compile LAM and/or MPI Fortran
applications. In very old versions of LAM, hf77 did not automatically add -lmpi to the
command line. hf77 was eventually deprecated and replaced with mpif77. The executable
hf77 is now simply a symbolic link to mpif77 just in case there's anyone out there that
still uses that name. It should be harmless to pass in the additional -lmpi; mpif77
should silently do the Right Thing (only link in the MPI library once).
Use mpif77.lam online using onworks.net services