Hi Romesh

When I build pypar on our 64 bit Intel cluster (Ubuntu 9.04) with OpenMPI, the compile string looks like this:

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/lib/python2.6/dist-packages/numpy/core/include -I/usr/include/python2.6 -c mpiext.c -o build/temp.linux-x86_64-2.6/mpiext.o -fPIC
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.6/mpiext.o -L/usr/lib/openmpi/lib -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -lm -o build/lib.linux-x86_64-2.6/pypar/mpiext.so

and all is well. The same is true on a 32 bit Ubuntu 9.10 system.

Could I ask you to try to run
python compile_pypar_locally.py

That will compile the mpiext.so using mpicc directly (bypassing distutils) and the compile output should look something like this.

nielso@alamba:~/sandpit/pypar/source$ python compile_pypar_locally.py
mpicc -c mpiext.c -I/usr/include/python2.6 -I/usr/lib/python2.6/dist-packages/numpy/core/include -o mpiext.o -Wall -fPIC
mpicc -shared mpiext.o  -o mpiext.so -mcmodel=medium
MPI initialised OK

Then you should be able to run the unit tests
mpirun -np 2 python test_pypar.py

Please let us know how you go.



On Fri, Dec 18, 2009 at 3:26 PM, Romesh Abeysuriya <romesh.abey@gmail.com> wrote:
Hi Ole,

We are trying to build PyPar on a couple of platforms, and are encountering the same problem.

The two architectures are:  64-bit intels (one Linux, the other OS X Snow Leopard).  The common
error we encounter in both is associated with this message: 

gcc -pthread -shared build/temp.linux-x86_64-2.4/mpiext.o -L/users/prl/rga112/mpich2-install-scucomp1/lib -lmpich -lopa -lpthread -lrt -lopa' -o build/lib.linux-x86_64-2.4/pypar/mpiext.so
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
_exec_command_posix failed (status=512)
/usr/bin/bash: -c: line 0: unexpected EOF while looking for matching `''
/usr/bin/bash: -c: line 1: syntax error: unexpected end of file
/usr/bin/bash: -c: line 0: unexpected EOF while looking for matching `''
/usr/bin/bash: -c: line 1: syntax error: unexpected end of file
error: Command "gcc -pthread -shared build/temp.linux-x86_64-2.4/mpiext.o -L/users/prl/rga112/mpich2-install-scucomp1/lib -lmpich -lopa -lpthread -lrt -lopa' -o build/lib.linux-x86_64-2.4/pypar/mpiext.so" failed with exit status 2

The main problem stems from this -lopa' element.  Grepping around your source for "lopa" or "opa" didn't give us a clue how to fix this problem.

Additionally, on Snow Leopard, problems arise because PyPar is trying to create a Universal Binary, when only x86_64 MPICH libraries have been compiled, so we are looking for a way to remove the extra -arch switches.

We really would like to use PyPar in our project, so if you could please advise us how to fix these problems, we'd be really grateful.

For reference, here's some version information on our software stack we're using to build PyPar:

Python 2.6.1 (OS X)
Numpy 1.0.1 (current rpmforge repository version), latest SVN (OS X)
GCC 4.1.2 (Linux), 4.2.1 (OS X)

Thanks and all the best...

Romesh Abeysuriya
Jay Larson