I built Python 30b1 from the tarball on Fedora 8 and Xubuntu 8.
My only configure switch was --prefix to get a local build.
On both systems the only build error I got was:
Failed to find the necessary bits to build these modules:
_gestalt
which shouldn't matter because it is a Mac thing not a Linux thing (and
already reported)---there were no other error messages, so no warning
that multiprocessing wasn't working.
Running make test does _not_ indicate any problem with the
multiprocessing module (same output on both systems):
302 tests OK.
21 tests skipped:
test_bsddb3 test_cProfile test_codecmaps_cn test_codecmaps_hk
test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses
test_kqueue test_normalization test_ossaudiodev test_pep277
test_socketserver test_startfile test_timeout test_urllib2net
test_urllibnet test_winreg test_winsound test_xmlrpc_net
test_zipfile64
Those skips are all expected on linux2.
If I run test_multiprocessing.py manually from the _build_ directory it
works fine.
But if I use the locally installed Python 3 (soft linked to python3 in
my PATH), on both systems I get this:
: python3 -V
Python 3.0b1
: python3 Lib/test/test_multiprocessing.py
Traceback (most recent call last):
File "Lib/test/test_multiprocessing.py", line 19, in <module>
import multiprocessing.dummy
ImportError: No module named multiprocessing.dummy
Now given that the tests all pass it seemed to me that the problem was
with the build rather than with the module itself, and that led to the
solution, which for both systems is the same simple command:
cp -R ~/download/Python-3.0b1/Lib/multiprocessing
~/opt/python30b1/lib/python3.0
So it seems that although the shared library is copied correctly from
the build directory, what has been forgotten is to copy the
multiprocessing directory itself.
|