Leopard / Mac installer genius wanted..

This post properly boils down to me begging Mads for help. I need to run pypvm for a school assigment, but it seems impossible to install on my MacBook.This is really something I don’t like. Programming frameworks should be easy to install. I hate wasting my time on something that isn’t really a part of the assignment. So.. to use pypvm, you have to install pvm (look at the pretty logo). This seems fair as the python stuff is just wrappers to the original C code. Installing pvm can be done – and should be done – through MacPorts. It’s as simple as writing:

$ sudo port install pvm

Right? Not quite.. This worked fine in OS X 10.4, but under leopard it generates an compile error looking like this:

../../src/pmsg.c:785: error: static declaration of 'xdr_float' follows non-static declaration.

This was pretty easy to solve though. This will work:

$ sudo port install pvm +darwin_8

So there.. We have pvm3 installed. Now for the pypvm. Running a make didn’t work out as one could hope for:

euler:pypvm-0.94 runebromer$ make
gcc -pipe -DNDEBUG -g -Os -Wall -Wstrict-prototypes -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -I/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config    -c ././pypvm_coremodule.c -o ./pypvm_coremodule.o
././pypvm_coremodule.c:2:18: error: pvm3.h: No such file or directory
././pypvm_coremodule.c: In function 'was_error':

No nice… But fair enough I guess.. So the file is located at /opt/local/include/pvm3.h so we just give that path to the configure script, right.. wrong!

euler:pypvm-0.94 runebromer$ ./configure  --with-include-dir=/opt/local/include --with-lib-dir=/opt/local/lib
checking host system type... configure: error: can not guess host type; you must specify one

This one took some time to solve. You can pass the host to configure all you want and call uname with all possible arguments to get the argument for configure, but it will always result in a ldconf error. This page helped though. The solution:

euler:pypvm-0.94 runebromer$ cp /usr/share/libtool/config.sub .
euler:pypvm-0.94 runebromer$ cp /usr/share/libtool/config.guess .

So know we got past the configure. Running make didn’t help:

gcc -fPIC -O -I/usr/include/python1.5 -I/usr/lib/python1.5/config -DHAVE_CONFIG_H  -c ./pypvm_coremodule.c
./pypvm_coremodule.c:1:20: error: Python.h: No such file or directory
./pypvm_coremodule.c:2:18: error: pvm3.h: No such file or directory

BUT I JUST TOLD YOU WHERE IT WAS.. So.. I wasted some hours tonight not getting started with my assignment.

The next assignment must be solved with MPI. And that’s just good. Look at this:

euler:tests runebromer$ sudo port install openmpi
[snip - some output]

euler:mpi runebromer$ sudo easy_install mpi4py
[snip - more output]

euler:tests runebromer$ /opt/local/bin/python2.4 helloworld.py
Hello, World!! I am process 0 of 1 on euler.
This entry was posted in mpi, pvm and tagged , , , , . Bookmark the permalink.

3 Responses to Leopard / Mac installer genius wanted..

  1. Gimme a shell account with sudo access and I’ll fix it. That or try setting LD_LIBRARY_PATH or something like that.

  2. bromer says:

    Oh joy… Mads solved the problem. I don’t quite know what he did, but many many thanks..

  3. Well, it seems that your python 2.4 installation’s libpython was broken. That and the fact that pypvm has include paths written directly in the Makefile.am. Thanks alot.

    Lucky for me, someone packaged pypvm as a setuptools package. Installation was as simple as:

    python setup.py install

    http://biskit.pasteur.fr/install/short

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>