** Description changed: [Impact] - Users can not use distcc-pump due to problems with python version - hardcoding. Subsequent “fixes” to bump the version only fail later. + Using distcc-pump is a significant speed gain with a large compile farm. + + Ubuntu users can not use distcc-pump due to problems with python version + and module path hardcoding. The upstream build system and Ubuntu + packaging attempt various hacks to detect the python version and + installed location of include_server modules. These have proved quite + unreliable. + + Subsequent “fixes” to bump the version only fail later, or sometimes + don't work at all (see comments on bug #767066). Instead of constantly hardcoding newer python versions, distcc/3.1-4.2 includes a fix where the default version is detected in debian/rules and - passed along to the build configure as “/usr/bin/pythonN.M”. This is - intimately tied to the fix for bug #767066, which is also required for - distcc-pump mode to continue working. + passed along to the build configure as “/usr/bin/pythonN.M”. Further, + it also installs the modules to a fixed, private path and bypasses the + problems with detecting the installed path during the package build + process. [Test Case] * Install distcc and distcc-pump packages: $ sudo apt-get install -y distcc distcc-pump … * Start a local distcc server and setup environment: $ distccd --daemon --allow 127.0.1.1 $ export DISTCC_HOSTS=localhost/4,cpp * Attempt to start distcc-pump, observe the the include_server module is not found: - # on precise, the command is “distcc-pump --startup” + # on lucid: $ pump --startup __________Using distcc-pump from /usr/bin __________Using 3 distcc servers, of which only 2 support(s) pump mode /usr/bin/python: can't open file '/usr/lib/pymodules/python2.5/include_server/include_server.py': [Errno 2] No such file or directory __________Expected a socket at '/tmp/distcc-pump.I3DsMc/socket' + __________Could not start distcc-pump include server + + # on precise (the command and error message are different): + $ distcc-pump --startup + __________Using 2 distcc servers, of which only 1 support(s) pump mode + /usr/bin/distcc-pump: 538: /usr/bin/find_c_extension.sh: not found + /usr/bin/python: can't open file '/usr/bin/include_server/include_server.py': [Errno 2] No such file or directory + __________Expected a socket at '/tmp/distcc-pump.Hlfnoz/socket' __________Could not start distcc-pump include server [Regression Potential] Although this will still require a rebuild when the default version changes, it will not require any further modifications to the distcc packaging. - The changes to fix this and bug #767066 are small, although the fix for - the later requires to change the installed path of the python modules to - a private path. These modules were previously installed in a public - path but have never been usable to create and run custom - include_servers. It is extremely unlikely that any user was making use - of them, if someone was they will have to update their code to locate - these modules in the private path. + Small patch. + + The python modules for the include_server were previously installed to a + public path. They are now moved to a private path. This is not + expected to impact any users, because these modules have never been + usable by anything other than the official distcc-pump script. In the + extra rare situation that a user has developed some custom program using + them, they will have to add the new path (which is fixed and well- + defined) to their python load path. + + The proposed fix has been in sid since March 2012, and quantal since + August. No regressions have been reported.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/511585 Title: Unable to start pump server because of python version mismatch To manage notifications about this bug go to: https://bugs.launchpad.net/distcc/+bug/511585/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs