I wonder if it is a bug or not, but I am not able to install MPICH-1.2.4 on my Linux box.
Here is my situation:
OS: RedHat 8.0 with kernel 2.4.20smp
Intel Compiler 7.0 (ifc and icc)
Configure option:
./configure -cc=icc -fc=ifc -f90=ifc --with-device=ch_p4
--with-arch=LINUX --prefix=/opt/mpi/mpich124
The configuration was successful, however, the make process failed:
...
12 Lines Compiled
ar cr /work/source/mpich-1.2.4/lib/libmpichf90nc.a .tmp/mpi.o mpi1.o
mpi2.o
mpi_constants.o
if [ ! -d /work/source/mpich-1.2.4/include/f90base ] ; then
mkdir /work/source/mpich-1.2.4/include/f90base ; fi
cp mpi-base.mod /work/source/mpich-1.2.4/include/f90base/MPI.mod
cp MPI_CONSTANTS.mod /work/source/mpich-1.2.4/include/f90base
cp MPI1.mod /work/source/mpich-1.2.4/include/f90base
cp MPI2.mod /work/source/mpich-1.2.4/include/f90base
make --no-print-directory mpi-lib-test
make --no-print-directory profileliblink
Testing that MPI applications can be linked...
make --no-print-directory linktest
make overtake
/work/source/mpich-1.2.4/bin/mpicc -DUSE_SOCKLEN_T -DUSE_U_INT_FOR_XDR
-DHAVE_MPICHCONF_H -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE
_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_LONG_LONG_INT=1
-DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHA
VE_SLEEP=1 -DHAVE_SYSCONF=1 -c overtake.c
/work/source/mpich-1.2.4/bin/mpicc -DUSE_SOCKLEN_T -DUSE_U_INT_FOR_XDR
-DHAVE_MPICHCONF_H -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE
_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_LONG_LONG_INT=1
-DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHA
VE_SLEEP=1 -DHAVE_SYSCONF=1 -c test.c
/work/source/mpich-1.2.4/bin/mpicc -o overtake overtake.o test.o
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o): In function
`p4_wait_for_end':
p4_utils.o(.text+0xcb2): undefined reference to `__bswap_32'
p4_utils.o(.text+0xcc7): undefined reference to `__bswap_32'
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o): In function
`zap_remote_p4_processes':
p4_utils.o(.text+0x1078): undefined reference to `__bswap_32'
p4_utils.o(.text+0x1082): undefined reference to `__bswap_32'
p4_utils.o(.text+0x108c): undefined reference to `__bswap_32'
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o)(.text+0x1129): more
undefined references to `__bswap_32' follow
make[4]: *** [overtake] Error 1
make[3]: [linktest] Error 2 (ignored)
Could not link a C program with MPI libraries
make[3]: *** [linktest] Error 1
make[2]: *** [linktest] Error 2
make[1]: *** [mpi-lib-test] Error 2
make: *** [mpi] Error 2
I wonder if this is a bug in MPICH-1.2.4 or a bug in Intel's compiler and associated libraries?
The installation is successful with GNU compiler.
Regards
Jyh-Shyong Ho, PhD.
Research Scientist
National Center for High-Performance Computing
Hsinchu, Taiwan, ROC
MPICH-1.2.4 with Intel C++ compiler on RedHat 8.0
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione


