LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Jim Shepherd (jimshep_at_[hidden])
Date: 2004-12-01 13:17:05


I am trying to rebuild lam with the Intel 8.1 (icc-023, ifort-020)
compilers using the source rpm, lam-7.1.1-2.src.rpm, downloaded from the
lam-mpi site. After successfully compiling the source and installing
the freshly built rpms, the compiler wrappers (mpicc, mpic++, mpif77)
give a "Segmentation fault" when run. Here are the environment
variables that I used and the configure line printed out when rebuilding
the rpms:

CC=icc
CXX=icpc
F77=ifort
FC=ifort
CFLAGS=-g2
CXXFLAGS=-g -D__interface=interface
FFLAGS=-g

./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu
--target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-
prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/lam
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --
libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com
--mandir=/usr/share/man --infodir=/usr/share/info --with-rpi=usysv ''
configure: WARNING: you should use --build, --host, --target

I read in the archive that there was an optimization bug in the Intel
compilers that caused a segmentation fault for some other lam
executables. I tried using -O0, -O1, -O2, and -O3 separately and
received the same results. Here is the debug info:

 gdb /usr/bin/mpic++
GNU gdb Red Hat Linux (6.1post-1.20040607.43rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/mpic++
[Thread debugging using libthread_db enabled]
[New Thread -151066944 (LWP 22953)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -151066944 (LWP 22953)]
0x0804ea6c in lam_wrap_split (str=@0xfefff594, c=32 ' ',
out=@0xfefff698) at wrap_cxx.cc:512
512 while (i < size && str[i] == c)
(gdb) where
#0 0x0804ea6c in lam_wrap_split (str=@0xfefff594, c=32 ' ',
out=@0xfefff698) at wrap_cxx.cc:512
#1 0x0804c2ea in lam_wrap_get_compiler (env_list=@0xfefff7e8,
default_comp=@0xfefff818, out=@0xfefff698)
    at wrap_cxx.cc:165
#2 0x0804f778 in lam_wrap_engine (argc=1, argv=0xfefff944,
env_vars=@0xfefff7e8, default_compiler=@0xfefff818,
    want_cxx_includes=true, want_cxx_libs=true, want_f77_includes=false,
extra_args=@0xfefff820)
    at wrap_engine_cxx.cc:68
#3 0x08049fa9 in main (argc=1, argv=0xfefff944) at mpicxx.cc:42
#4 0x001d8e33 in __libc_start_main () from /lib/tls/libc.so.6
#5 0x08049b0d in _start ()
(gdb)

Thanks for your help,
Jim Shepherd