From: Thorsten Ohl <ohl@*RemoveTheStars*hep.tu-darmstadt.de>
Newsgroups: comp.parallel.mpi
Subject: Re: Linux MPICH/NAG F95 only creates 1 task
Date: 09 Oct 1998 14:57:09 +0200
Organization: TU Darmstadt
Message-Id: <ueu31dopui.fsf@heplix.ikp.physik.tu-darmstadt.de>
References: <6vis81$7lf$1@nnrp1.dejanews.com>
    <361DD59A.58D63A8@rrzn-user.uni-hannover.de>
    <uevhlunger.fsf@heplix.ikp.physik.tu-darmstadt.de>
    <361DF34C.14319BD5@rrzn-user.uni-hannover.de>


Frank Mahler <nhchance@rrzn-user.uni-hannover.de> writes:

> > However: early versions of NAG f95 had a broken name mangling for
> > module procedures, which is now fixed (I use build #396).  
> 
> Ok, let's see...
> 
> Champ:$ f95 -V
> NAGWare Fortran 95 compiler Release 1.0(325)

That one was broken:

    From: Thorsten Ohl <ohl@hep.tu-darmstadt.de>
    To: infodesk@nag.co.uk
    Subject: Bug in NAGWare f95 (Linux): can't link library procedures
    Date: Wed, 25 Mar 1998 18:14:34 +0100
    
    ! The appended program does not link because the generated symbol names don't
    ! match the names in the library (the library names of module procedures have
    ! an additional `_' before the `MP').
    !
    ! ohl@heplix:~f90$ f95 -version -v bug.f95
    ! NAGWare Fortran 95 compiler Release 1.0(325)
    ! Copyright 1990-1997 The Numerical Algorithms Group Ltd., Oxford, U.K.
    ! bug.f95:
    ! f95comp version is 1.0(325)
    ! Loading...
    ! bug.o: In function `main':
    ! bug.o(.text+0x17): undefined reference to `f90_unix_env__MP_iargc'
    ! bug.o(.text+0x3f): undefined reference to `f90_unix__MP_getarg'
    !
    ! ohl@heplix:~f90$ nm bug.o | g arg
    !          U f90_unix__MP_getarg
    !          U f90_unix_env__MP_iargc
    ! 
    ! ohl@heplix:~f90$ nm /usr/local/lib/NAGWare/libf95.a | grep arg 
    !          U __NAGf90_argc
    !          U __NAGf90_argv
    ! 00000114 T f90_unix_MP_getarg
    ! 00000108 T f90_unix_MP_iargc
    ! 00000000 D __NAGf90_argc
    ! 00000004 D __NAGf90_argv
    !          U __NAGf90_argc
    !          U __NAGf90_argv
    !          U __NAGf90_argc
    !          U __NAGf90_argv
    !          U __NAGf90_argc
    !          U __NAGf90_argv
    ! 0000000c T f90_unix_env_MP_getarg
    ! 00000000 T f90_unix_env_MP_iargc
    
    program bug
      use f90_unix
      integer :: i
      character(len=80) :: buf
      do i = 0, iargc ()
    	 call getarg (i, buf)
    	 print *, i, ": ", trim (buf)
      end do
    end program bug

> Hmmm. What can I do?

Get a new compiler from NAG.  They will probably point you to a
ftp(1)able copy, that will work with the license manager that you
have.
-- 
Thorsten Ohl, Physics Department, TU Darmstadt -- ohl@hep.tu-darmstadt.de
http://heplix.ikp.physik.tu-darmstadt.de/~ohl/ [<=== PGP public key here]

