Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-11-22 10:36:07

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

- 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:

      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;
> 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
> users_at_[hidden]

{+} Jeff Squyres
{+} The Open MPI Project