Subject: [OMPI users] Pb in configure script when using ifort with "-fast" + link of opal_wrapper
From: DEVEL Michel (Michel.Devel_at_[hidden])
Date: 2009-06-03 09:13:25


Dear openMPI users and developers,

I have just tried installing openmpi by compiling it rather than just
using a rpm because I want to use it with the ifort compiler.
I have noticed a problem in the configure script (present at least in
version 1.3.1 and 1.3.2) for the determination of Fortran naming
convention :
I tried to use
./configure --prefix=/opt/intel/Compiler/11.0/074/ --with-sge
--enable-static CC='icc' CFLAGS=' -fast -C' LDFLAGS='-fast -C' AR='ar'
F77='ifort' FC='ifort' FFLAGS=' -fast -C' FCFLAGS=' -fast -C' CXX='icpc'
but the test to determine Fortran naming convention (single underscore
in ifort case) fails because of the -fast flag.
If I do "ifort -c -C -fast conftest.f" then "nm -B conftest.o" gives
" w __ildata_included "
whereas it correctly gives "0000000000000000 T foo_bar_ " if I use
"ifort -c -C -O3 conftest.f"

I inserted "ompi_cv_f77_external_symbol="single underscore" at line
35244 of configure script (as if this variable had been cached) to get
around this bug, which is not clean at all but works in my case.
With this change, the configure script completes successfully.
However "make all" then fails at the linking of opal_wrapper with
following messages :

/bin/sh ../../../libtool --tag=CC --mode=link icc -DNDEBUG -fast -C
-finline-functions -fno-strict-aliasing -restrict -pthread
-fvisibility=hidden -export-dynamic -fast -C -o opal_wrapper
opal_wrapper.o ../../../opal/libopen-pal.la -lnsl
-lutil
libtool: link: icc -DNDEBUG -fast -C -finline-functions
-fno-strict-aliasing -restrict -pthread -fvisibility=hidden -fast -C -o
.libs/opal_wrapper opal_wrapper.o -Wl,--export-dynamic
../../../opal/.libs/libopen-pal.so -lm -lnsl -lutil -pthread -Wl,-rpath
-Wl,/opt/intel/Compiler/11.0/074/lib
*** glibc detected *** /opt/intel/Compiler/11.0/074/bin/intel64/mcpcom:
double free or corruption (!prev): 0x0000000002d06c70 ***
======= Backtrace:
=========

/lib64/libc.so.6[0x2b8a83f7d118]

/lib64/libc.so.6(cfree+0x76)[0x2b8a83f7ec76]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x10b43e7]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x1104a68]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x11145ae]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x11172d5]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x11168b7]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x110f181]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x10ffe06]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x10ade6b]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0xfe7960]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x847c06]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom[0x452935]

/lib64/libc.so.6(__libc_start_main+0xe6)[0x2b8a83f27586]

/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom(regcomp+0x3a)[0x40557a]

======= Memory map:
========

00400000-01dff000 r-xp 00000000 08:07 402335
/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom
01efe000-0202f000 rwxp 019fe000 08:07 402335
/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom
0202f000-02e6b000 rwxp 0202f000 00:00 0
[heap]
2b8a83599000-2b8a835b7000 r-xp 00000000 08:07 1262134
/lib64/ld-2.9.so
2b8a835b7000-2b8a835b9000 rwxp 2b8a835b7000 00:00
0

2b8a837b6000-2b8a837b7000 r-xp 0001d000 08:07 1262134
/lib64/ld-2.9.so
2b8a837b7000-2b8a837b8000 rwxp 0001e000 08:07 1262134
/lib64/ld-2.9.so
2b8a837b8000-2b8a8380d000 r-xp 00000000 08:07 1264546
/lib64/libm-2.9.so
2b8a8380d000-2b8a83a0c000 ---p 00055000 08:07 1264546
/lib64/libm-2.9.so
2b8a83a0c000-2b8a83a0d000 r-xp 00054000 08:07 1264546
/lib64/libm-2.9.so
2b8a83a0d000-2b8a83a0e000 rwxp 00055000 08:07 1264546
/lib64/libm-2.9.so
2b8a83a0e000-2b8a83ad6000 r-xp 00000000 08:07 755598
/usr/lib64/libstdc++.so.5.0.7
2b8a83ad6000-2b8a83cd5000 ---p 000c8000 08:07 755598
/usr/lib64/libstdc++.so.5.0.7
2b8a83cd5000-2b8a83cd7000 r-xp 000c7000 08:07 755598
/usr/lib64/libstdc++.so.5.0.7
2b8a83cd7000-2b8a83cde000 rwxp 000c9000 08:07 755598
/usr/lib64/libstdc++.so.5.0.7
2b8a83cde000-2b8a83cf1000 rwxp 2b8a83cde000 00:00 0
2b8a83cf1000-2b8a83d07000 r-xp 00000000 08:07 1261682
/lib64/libgcc_s.so.1
2b8a83d07000-2b8a83f07000 ---p 00016000 08:07 1261682
/lib64/libgcc_s.so.1
2b8a83f07000-2b8a83f08000 r-xp 00016000 08:07 1261682
/lib64/libgcc_s.so.1
2b8a83f08000-2b8a83f09000 rwxp 00017000 08:07 1261682
/lib64/libgcc_s.so.1
2b8a83f09000-2b8a84058000 r-xp 00000000 08:07 1261574
/lib64/libc-2.9.so
2b8a84058000-2b8a84258000 ---p 0014f000 08:07 1261574
/lib64/libc-2.9.so
2b8a84258000-2b8a8425c000 r-xp 0014f000 08:07 1261574
/lib64/libc-2.9.so
2b8a8425c000-2b8a8425d000 rwxp 00153000 08:07 1261574
/lib64/libc-2.9.so
2b8a8425d000-2b8a84262000 rwxp 2b8a8425d000 00:00 0
2b8a84262000-2b8a84264000 r-xp 00000000 08:07 1264544
/lib64/libdl-2.9.so
2b8a84264000-2b8a84464000 ---p 00002000 08:07 1264544
/lib64/libdl-2.9.so
2b8a84464000-2b8a84465000 r-xp 00002000 08:07 1264544
/lib64/libdl-2.9.so
2b8a84465000-2b8a84466000 rwxp 00003000 08:07 1264544
/lib64/libdl-2.9.so
2b8a84466000-2b8a8466a000 rwxp 2b8a84466000 00:00 0
2b8a8466a000-2b8a84719000 r-xs 00000000 08:08 352933
/usr/local/src/openmpi-1.3.1/opal/.libs/libopen-pal.so.0.0.0
2b8a84719000-2b8a8471a000 rwxp 2b8a84719000 00:00 0
2b8a88000000-2b8a88021000 rwxp 2b8a88000000 00:00 0
2b8a88021000-2b8a8c000000 ---p 2b8a88021000 00:00 0
7fff274f2000-7fff27511000 rwxp 7ffffffe0000 00:00 0
[stack]
7fff275fe000-7fff275ff000 r-xp 7fff275fe000 00:00 0
[vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
[vsyscall]
icc: error #10106: Fatal error in
/opt/intel/Compiler/11.0/074/bin/intel64/mcpcom, terminated by IOT
instruction
icc: error #10014: problem during multi-file optimization compilation
(code 1)
make[2]: *** [opal_wrapper] Error 1
make[2]: Leaving directory
`/usr/local/src/openmpi-1.3.1/opal/tools/wrappers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/openmpi-1.3.1/opal'
make: *** [all-recursive] Error 1

-- 
Sincerely yours,
Michel DEVEL