Re: runtime errors with lammpi compiled by intel compilers

From: Kamaraju Kusumanchi (kk288_at_cornell.edu)
Date: 12/04/04


Date: Fri, 03 Dec 2004 18:36:36 -0500


>>This error normally means an application was built dynamic linked against
>>glibc 2.3.2 but run against an earlier glibc. If you aren't concealing
>>other relevant information, more people might be able to give intelligent
>>comments if you would quote the result of 'rpm -qa glibc' for both the build
>>and the run time environments.
>
>
> On the build environment,
> $rpm -qa glibc
> glibc-2.3.2-101
>
> On the run environment
> $rpm -qa glibc
> glibc-2.2.93-5
>
> I guess that reflects the observations you suggested. I dont know how
> to extract the information of the build environment for mpif77 built
> with absoft f90 + gcc. But the run environment is the same.
>
> thanks very much for the reply
> raju

Inorder to avoid the glibc version conflicts, I tried to compile the
helloworld.f90 on the same machine as the lam-mpi libraries are built.
Now I am getting different runtime error. I tried two sets of compilers
{ifort+icc+icpc} and {ifort+gcc+g++}. I am getting the same runtime
error with both set of libraries.

Problem:
helloworld.f90 (listed at the end) compiles fine. But produces the
following error.

$mpif77 hello_world.f90

$cat host_list
a1 cpu=2

$lamboot -v host_list

LAM 7.1.1/MPI 2 C++/ROMIO - Indiana University

n-1<31667> ssi:boot:base:linear: booting n0 (a1)
n-1<31667> ssi:boot:base:linear: finished

$mpirun -np 2 a.out
  test1
  test1
  test2
  test3
  test4
  test6
  test2
  test3
  test4
  test5
  greetings from process 1!
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
a.out 0804C298 Unknown Unknown Unknown
a.out 0804C166 Unknown Unknown Unknown
a.out 0804BE08 Unknown Unknown Unknown
a.out 420158D4 Unknown Unknown Unknown
a.out 0804BCC1 Unknown Unknown Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
a.out 0804C298 Unknown Unknown Unknown
a.out 0804C166 Unknown Unknown Unknown
a.out 0804BE08 Unknown Unknown Unknown
a.out 420158D4 Unknown Unknown Unknown
a.out 0804BCC1 Unknown Unknown Unknown

I saw a similar error being reported with no solution at

http://www.cpmd.org/pipermail/cpmd-list/2004-February/003039.html

thanks in advance
raju

Procedure used to build lam-mpi libraries
I myself built these mpi libraries with the following options.
export FC=ifort
export CC=gcc
export CXX=g++
export FFLAGS="-g -I/opt/intel_fc_80/include -L/opt/intel_cc_80/lib"
export CFLAGS="-g"
export CXXFLAGS="-g"

System information
The same machine is used to build the mpi libraries, compile
helloworld.f90, execute a.out

redhat linux 8.0, 32-bit machine

$rpm -qa glibc
glibc-2.2.93-5

$gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib
--enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)

$ifort -V
Intel(R) Fortran Compiler for 32-bit applications, Version 8.1 Build
20040921Z Package ID: l_fc_pc_8.1.019
Copyright (C) 1985-2004 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY

ifort: Command line error: no files specified; for help type "ifort -help"

$icc -V
Intel(R) C++ Compiler for 32-bit applications, Version 8.1 Build
20040921Z Package ID: l_cc_pc_8.1.022
Copyright (C) 1985-2004 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY

icc: Command line error: no files specified; for help type "icc -help"

$uname -a
Linux A1 2.4.18-24.8.0smp #1 SMP Fri Jan 31 07:12:12 EST 2003 i686
athlon i386 GNU/Linux

$ulimit
unlimited

$cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) MP 2200+
stepping : 0
cpu MHz : 1799.980
cache size : 256 KB
Physical processor ID : 0
Number of siblings : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmovpat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3575.54

processor : 1
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) Processor
stepping : 0
cpu MHz : 1799.980
cache size : 256 KB
Physical processor ID : 0
Number of siblings : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmovpat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3600.85

$cat helloworld.f90
program hello_world
   ! first program in fortran using mpi
   ! author : kamaraju kusumanchi
   implicit none
   include 'mpif.h'

   integer :: my_rank, p, source, dest, tag = 50, ierror
   ! my_rank = Rank of process
   ! p = number of processes
   ! source = rank of sender
   ! dest = rank if receiver
   ! tag = tag for messages
   ! ierror =
   character(len=50) :: message=' '
   ! storage for the message
   ! dont forget to initialize it

   integer :: stat(MPI_Status_size) ! return status for receive

   write(*,*) 'test1'
   call MPI_Init(ierror)
   write(*,*) 'test2'
   call MPI_Comm_rank(MPI_COMM_WORLD, my_rank, ierror)
   write(*,*) 'test3'
   call MPI_Comm_size(MPI_COMM_WORLD, p, ierror)
   write(*,*) 'test4'

   if (my_rank .ne. 0) then
     write(*,*) 'test5'
     write(message,'(A, i5, A)') 'greetings from process ', my_rank, '!'
     dest = 0
     call MPI_Send(message, len_trim(message), MPI_CHARACTER, dest, tag, &
     MPI_COMM_WORLD, ierror)
   else
     do source=1,p-1
       write(*,*) 'test6'
       call MPI_Recv(message, 50, MPI_CHARACTER, source, tag, &
       MPI_COMM_WORLD, stat, ierror)
       write(*,*) message
     end do
   end if
   call MPI_Finalize();
end program hello_world



Relevant Pages

  • compiling the latest glibc with the latest gcc
    ... In the docs for glibc, it says to use the latest gcc if possible, so I ... So does anyone know which gcc version will compile glibc-2.3.5 ... weak_alias (__isinf, isinf) ...
    (comp.os.linux.misc)
  • Re: glibc backward compatibility
    ... You too run glibc 2.1? ... It is in the environment at the time ... may be inherited by the poor process that does an exec in a space that ... versioned symbol should not be found in the existing glibc 2.2.4 if it is ...
    (comp.os.linux.development.system)
  • Re: Implement memcmp function with help from gccs inline asm
    ... > The source I looked at was my package manager's glibc archive, ... > watched my package manager compile glibc. ... > to diagnose both my package manager and glibc's build process to work it ... > time as the library function. ...
    (comp.lang.asm.x86)
  • Re: How to enable thread-local storage?
    ... You can try to install it somewhere else and get gcc to use that. ... downloaded glibc and yesterday binutils. ... the newer glibc for when I compile stuff with it instead of the old? ...
    (comp.os.linux.misc)
  • Re: FC2 and glibc-linuxthreads
    ... > available through the glibc-rpm's in the core distro? ... Please post the commands you run to compile and which error messages you ... The current system makes use of NPTL (kernel, glibc, elsewhere). ... Fedora GNU/Linux Core 2 kernel 2.6.8-1.521smp ...
    (Fedora)