Dear Ubuntu MOTU-team,
Dear Florian,

I'm not sure who is actually responsible for the openmpi-* 
packages in Kubuntu, so I decided to send this email to the 
addresses I have found in the package descriptions and I kindly 
ask you to forward this mail to whoever you think can help us.

We are trying to get the Fortran bindings for OpenMPI working. 
Our system is a Kubuntu 7.04 Feisty machine.  We are using the 
packaged versions of both OpenMPI and the gfortran compiler which 
have the following version numbers:

[EMAIL PROTECTED]:~$ dpkg --list | grep openmpi
ii  openmpi-bin                                1.1-2.3 
                      high performance message passing library
ii  openmpi-common                             1.1-2.3 
                      high performance message passing library
ii  openmpi-dev                                1.1-2.3 
                      high performance message passing library
ii  openmpi-libs0                              1.1-2.3 
                      high performance message passing library

[EMAIL PROTECTED]:~$ gfortran --version | head -1
GNU Fortran 95 (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)


To test if the mpif90 and mpirun commands are working, we used 
the following testprogram:

----------------> begin testprogram <---------------

program test_mpi

use mpi

implicit none

integer :: numprocs, rank, nb, ierr


print *, "Before MPI_Init"
call MPI_Init(ierr)

print *, "Before MPI_Comm_size"
call MPI_Comm_size(MPI_COMM_WORLD, numprocs, ierr)

print *, "Before MPI_Comm_rank"
call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)

print *,"I am process", rank, "out of ", numprocs

print *, "Before MPI_Finalize"
call MPI_Finalize(ierr)

end program test_mpi

------------------> end testprogram <--------------

If we compile this simply with mpif90, we get undefined references:

[EMAIL PROTECTED]:~/mpi_test$ mpif90 test_mpi.f90
/tmp/cc2xO6Dg.o: In function `MAIN__':
test_mpi.f90:(.text+0x9c): undefined reference to `mpi_init_'
test_mpi.f90:(.text+0x11e): undefined reference to `mpi_comm_size_'
test_mpi.f90:(.text+0x1a0): undefined reference to `mpi_comm_rank_'
test_mpi.f90:(.text+0x2d0): undefined reference to `mpi_finalize_'
collect2: ld returned 1 exit status

so we therefore add the -fsecond-underscore option which solves 
the problem:

[EMAIL PROTECTED]:~/mpi_test$ mpif90 -fsecond-underscore test_mpi.f90
[EMAIL PROTECTED]:~/mpi_test$

However, if we now try to run the binary, our testprogram 
silently exits somewhere in the MPI_Init subroutine without any 
error messages at all:

[EMAIL PROTECTED]:~/mpi_test$ mpirun -np 4 a.out
  Before MPI_Init
  Before MPI_Init
  Before MPI_Init
  Before MPI_Init
[EMAIL PROTECTED]:~/mpi_test$

and considering the print-statements in our test-program, this is 
not the output that one would expect.


I have also tried to compile this testprogram on a freshly 
installed Kubuntu 7.10 machine and there the problem is even worse:

[EMAIL PROTECTED]:~/test_mpi$ mpif90 test_mpi.f90
[EMAIL PROTECTED]:~/test_mpi$ ls -al a.out
ls: a.out: No such file or directory

The mpif90 command simply doesn't seem to do anything!  No binary 
output is generated and no error messages are shown to the user.


Can somebody from the crew take a look at this and hopefully 
provide us with a solution?


Thanks for helping us out,
Bart Vandewoestyne

-- 
Ubuntu-motu mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu

Reply via email to