LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: jls (jls_at_[hidden])
Date: 2005-01-10 04:26:23


Hello,
I am trying to use lam_ksignal on an FORTRAN MPI program, but i don't find
how to compile with the lam_ksignal routine.

I have written a very small code in F90 (intel) but I am unable to compile
it with :mpif77 -o essaif essaimpi.f90

/tmp/ifortj9cGx4.o: In function `MAIN__':
/tmp/ifortj9cGx4.o(.text+0xe7): undefined reference to `lam_ksignal_'

I am running the 7.1.1 version of LAM MPI

mpif77 -showme answer :

ifort -I/usr/local/mpif77/include -pthread -L/usr/local/mpif77/lib
-llammpio -llamf77mpi -lmpi -llam -lutil -ldl

and in /usr/local/mpif77/lib,

nm libmpi.a | grep -i lam_ksignal
answer :
0000029c T lam_ksignal
         U lam_ksignal
so the routine is in !!!

I have written a very similar code in C and it works exaclty as I want

what am I doing wrong ?

Thanks in advance for helping

Luc Sauvageot

essai.f :
!==========================================================================
Subroutine iSig_Handler(SigNum)
  write(*,*) 'Youpie in the FORTRAN sighandler'
  return
end Subroutine iSig_Handler
!==========================================================================
Program Z
! implicit none
  include 'mpif.h'
  ! MPI initialization
  call MPI_INIT(ierr)
  call MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierr)
  call MPI_COMM_SIZE(MPI_COMM_WORLD,ncpu,ierr)
  write(*,'(" Working with nproc = ",I4," for ndim = ",I1)')ncpu,ndim
  call LAM_KSIGNAL(7,iSig_Handler) ;
  do i=0,10000
     write(6,*) ' in the loop...',i
     do j=0,1e7
        q=float(I)*float(I)*float(I)/float(j)/float(j)/float(j)/float(j)
     enddo
  enddo

  call MPI_FINALIZE(info)
  stop
end Program Z
!==========================================================================