[mpich-discuss] MPICH3 library inconsistencies

Markus Geimer m.geimer at fz-juelich.de
Mon Apr 22 02:41:09 CDT 2013


Dear MPICH developers,

While experimenting with MPICH 3.0.2 and various compilers,
I found an inconsistency which probably isn't intended.

When configuring MPICH an a Linux system for GNU or Intel
compilers with

        ./configure --prefix=... --enable-debuginfo \
                CC=gcc CXX=g++ F77=gfortran F90=gfortran
or
        ./configure --prefix=... --enable-debuginfo \
                CC=icc CXX=icpc F77=ifort F90=ifort

respectively, the following libraries are built (ignoring the
shared libs here for simplicity):

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----

$ cd <prefix_{gnu,intel}>/lib
$ ls *.a
libfmpich.a  libmpichcxx.a  libmpl.a  libtvmpich.a
libmpich.a   libmpichf90.a  libopa.a

----- >8 ----- >8 ----- >8 ----- >8 ----- >8 ----- >8 -----

However, when configuring for Clang 3.2 (with GNU Fortran) using

        ./configure --prefix=... --enable-debuginfo \
                CC=clang CXX=clang++ F77=gfortran F90=gfortran

results in

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----

$ cd <prefix_clang>/lib
$ ls *.a
libfmpich.a  libmpichcxx.a  libmpl.a  libpmpich.a
libmpich.a   libmpichf90.a  libopa.a  libtvmpich.a

----- >8 ----- >8 ----- >8 ----- >8 ----- >8 ----- >8 -----

Obviously, there is an additional library 'libpmpich.a'.
Further investigation reveals that the distribution of
symbols across these libraries is somewhat weird, too:

----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< -----

$ cd <prefix_clang>/lib
$ nm libmpich.a | grep 'T PMPI_Recv'
00000000 T PMPI_Recv
00000000 T PMPI_Recv_init
$ nm libpmpich.a | grep 'T PMPI_Recv'
$ nm libmpich.a | grep 'T MPI_Recv'
$ nm libpmpich.a | grep 'T MPI_Recv'
00000000 T MPI_Recv
00000000 T MPI_Recv_init
$
$ nm libmpich.a | grep 'T MPI_File_open'
00000000 T MPI_File_open
$ nm libpmpich.a | grep 'T MPI_File_open'
00000000 T MPI_File_open
$ nm libmpich.a | grep 'T PMPI_File_open'
00000000 T PMPI_File_open
$ nm libpmpich.a | grep 'T PMPI_File_open'
00000000 T PMPI_File_open

----- >8 ----- >8 ----- >8 ----- >8 ----- >8 ----- >8 -----

My assumption is that something's going wrong during configure
which subsequently messes up the build. Maybe something to
investigate for the next bugfix release...

Thanks,
Markus

--
Dr. Markus Geimer
Juelich Supercomputing Centre
Institute for Advanced Simulation
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone:  +49-2461-61-1773
Fax:    +49-2461-61-6656
E-mail: m.geimer at fz-juelich.de
WWW:    http://www.fz-juelich.de/jsc/



------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------



More information about the discuss mailing list