Whoops! We forgot to instantiate these -- thanks for catching that.
I have just committed fixes to both the trunk and the v1.0 branch.
This also prompted the addition of the following text in the README
file:
-----
- Open MPI will build bindings suitable for all common forms of
Fortran 77 compiler symbol mangling on platforms that support it
(e.g., Linux). On platforms that do not support weak symbols (e.g.,
OS X), Open MPI will build Fortran 77 bindings just for the compiler
that Open MPI was configured with.
Hence, on platforms that support it, if you configure Open MPI with
a Fortran 77 compiler that uses one symbol mangling scheme, you can
successfully compile and link MPI Fortran 77 applications with a
Fortran 77 compiler that uses a different symbol mangling scheme.
NOTE: For platforms that support the multi-Fortran-compiler bindings
(i.e., weak symbols are supported), due to limitations in the MPI
standard and in Fortran compilers, it is not possible to hide these
differences in all cases. Specifically, the following two cases may
not be portable between different Fortran compilers:
1. The C constants MPI_F_STATUS_IGNORE and MPI_F_STATUSES_IGNORE
will only compare properly to Fortran applications that were
created with Fortran compilers that that use the same
name-mangling scheme as the Fortran compiler that Open MPI was
configured with.
2. Fortran compilers may have different values for the logical
.TRUE. constant. As such, any MPI function that uses the fortran
LOGICAL type may only get .TRUE. values back that correspond to
the the .TRUE. value of the Fortran compiler that Open MPI was
configured with.
You can use the ompi_info command to see the Fortran compiler that
Open MPI was configured with.
-----
On Nov 22, 2005, at 12:49 AM, Anthony Chan wrote:
Hi
Linking the following program with mpicc from openmpi-1.0 compiled
with gcc-4.0 on a IA32 linux box
*************************
#include <stdio.h>
#include "mpi.h"
int main() {
int argc; char **argv;
MPI_Fint *f_status;
;
MPI_Init(&argc, &argv);
f_status = MPI_F_STATUS_IGNORE;
f_status = MPI_F_STATUSES_IGNORE;
MPI_Finalize();
; return 0; }
**************************
with command "<openmpi-1.0>/bin/mpicc ts_MPI_F_STATUS_IGNORE.c"
produces
unresolved references of MPI_F_STATUS(ES)_IGNORE (which are both
defined
in mpi.h).
Here is ompi_info:
Open MPI: 1.0r8189 Open MPI SVN revision: r8189
Open RTE: 1.0r8189
Open RTE SVN revision: r8189
OPAL: 1.0r8189
OPAL SVN revision: r8189
...
Configured architecture: i686-pc-linux-gnu
C bindings: yes
C++ bindings: yes
Fortran77 bindings: yes (all)
Fortran90 bindings: yes
C compiler: /soft/apps/packages/gcc-4.0.0/bin/gcc-4.0
C compiler absolute: /soft/apps/packages/gcc-4.0.0/bin/gcc-4.0
C++ compiler: /soft/apps/packages/gcc-4.0.0/bin/g++-4.0
C++ compiler absolute: /soft/apps/packages/gcc-4.0.0/bin/g++-4.0
Fortran77 compiler:
/soft/apps/packages/gcc-4.0.0/bin/gfortran-4.0
Fortran77 compiler abs:
/soft/apps/packages/gcc-4.0.0/bin/gfortran-4.0
Fortran90 compiler:
/soft/apps/packages/gcc-4.0.0/bin/gfortran-4.0
Fortran90 compiler abs:
/soft/apps/packages/gcc-4.0.0/bin/gfortran-4.0
C profiling: yes
C++ profiling: yes
Fortran77 profiling: yes
Fortran90 profiling: yes
C++ exceptions: no
Thread support: posix (mpi: no, progress: no)
Internal debug support: no
MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
libltdl support: 1
...
A.Chan
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/