can't build mpi4py on ubuntu 9.04 with MPICH2

34 views
Skip to first unread message

vn

unread,
Jul 25, 2009, 4:07:52 PM7/25/09
to mpi4py
Hi,

I'm trying to build mpi4py1.1.0 with mpicc 1.1.1 from MPICH2 1.1.1,
but I get some errors during compilation and the resulting .so file
doesn't work for python.

This is what I did to build:
mpi4py-1.1.0:$ python setup.py build > build.txt
In file included from src/MPI.c:3:
src/mpi4py.MPI.c: In function ‘__pyx_f_6mpi4py_3MPI_initialize’:
src/mpi4py.MPI.c:3638: warning: format not a string literal and no
format arguments
src/mpi4py.MPI.c:3869: warning: format not a string literal and no
format arguments
src/mpi4py.MPI.c: In function ‘__pyx_f_6mpi4py_3MPI_op_user_mpi’:
src/mpi4py.MPI.c:9283: warning: format not a string literal and no
format arguments

and this is what got redirected to the build file:
mpi4py-1.1.0:$ cat build.txt
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/mpi4py
copying src/__init__.py -> build/lib.linux-i686-2.6/mpi4py
copying src/rc.py -> build/lib.linux-i686-2.6/mpi4py
creating build/lib.linux-i686-2.6/mpi4py/include
creating build/lib.linux-i686-2.6/mpi4py/include/mpi4py
copying src/include/mpi4py/mpi4py.h -> build/lib.linux-i686-2.6/mpi4py/
include/mpi4py
copying src/include/mpi4py/mpi4py.MPI.h -> build/lib.linux-i686-2.6/
mpi4py/include/mpi4py
copying src/include/mpi4py/mpi4py.MPI_api.h -> build/lib.linux-
i686-2.6/mpi4py/include/mpi4py
copying src/include/mpi4py/mpi_c.pxd -> build/lib.linux-i686-2.6/
mpi4py/include/mpi4py
copying src/include/mpi4py/MPI.pxd -> build/lib.linux-i686-2.6/mpi4py/
include/mpi4py
copying src/include/mpi4py/__init__.pyx -> build/lib.linux-i686-2.6/
mpi4py/include/mpi4py
copying src/include/mpi4py/mpi.pxi -> build/lib.linux-i686-2.6/mpi4py/
include/mpi4py
copying src/include/mpi4py/mpi4py.i -> build/lib.linux-i686-2.6/mpi4py/
include/mpi4py
running build_ext
MPI C compiler: /usr/local/bin/mpicc
MPI C++ compiler: /usr/local/bin/mpicxx
MPI linker: /usr/local/bin/mpicc
building 'mpi4py.MPI' extension
creating build/temp.linux-i686-2.6
creating build/temp.linux-i686-2.6/src
/usr/local/bin/mpicc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -
Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/MPI.c -
o build/temp.linux-i686-2.6/src/MPI.o
/usr/local/bin/mpicc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-i686-2.6/src/MPI.o -o build/lib.linux-i686-2.6/mpi4py/
MPI.so

However, if I try to run any of the demo modules, i get this error

mpi4py-1.1.0:$ mpirun -n 5 python demo/helloworld.py
Traceback (most recent call last):
Traceback (most recent call last):
File "demo/helloworld.py", line 6, in <module>
from mpi4py import MPI
ImportError: /usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so:
undefined symbol: MPI_Type_create_f90_real
Traceback (most recent call last):
File "demo/helloworld.py", line 6, in <module>
from mpi4py import MPI
ImportError: /usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so:
undefined symbol: MPI_Type_create_f90_real
Traceback (most recent call last):
File "demo/helloworld.py", line 6, in <module>
from mpi4py import MPI
ImportError: /usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so:
undefined symbol: MPI_Type_create_f90_real
File "demo/helloworld.py", line 6, in <module>
from mpi4py import MPI
ImportError: /usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so:
undefined symbol: MPI_Type_create_f90_real
Traceback (most recent call last):
File "demo/helloworld.py", line 6, in <module>
from mpi4py import MPI
ImportError: /usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so:
undefined symbol: MPI_Type_create_f90_real

I used python2.6. Any idea what might cause this?

Lisandro Dalcin

unread,
Jul 27, 2009, 1:16:34 PM7/27/09
to mpi...@googlegroups.com
I'v just tried to build mpi4py using MPICH2 1.1.1 (built from sources)
and Python 2.6 (system Python from Fedora 11)... This problem does not
show-up... Any change you have an incomplete/broken MPICH2 install?
Perhaps outdated mpich2 libs around? Could you run "ldd
/usr/local/lib/python2.6/dist-packages/mpi4py/MPI.so" to figure out if
the right mpich2 libraries are linked?
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

Lisandro Dalcin

unread,
Aug 3, 2009, 2:16:26 PM8/3/09
to mpi...@googlegroups.com
Please take a look at
<http://code.google.com/p/mpi4py/issues/detail?id=8#c3> . In that
thread you have some explanation about why you are experiencing such
failures; the link point you directly to a comment telling you the
easiest way to build mpi4py and workaround the issue.

Sorry, it took an additional issue report and a bit of time to figure
out what was going on.

On Sat, Jul 25, 2009 at 5:07 PM, vn<thetech...@gmail.com> wrote:
>
Reply all
Reply to author
Forward
0 new messages