Issue 3175: multiprocessing build fails on Fedora 8 and Xubuntu 8 + solution (original) (raw)

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 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.