Unable to start pump server because of python version mismatch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
distcc |
Invalid
|
Undecided
|
Unassigned | ||
distcc (Ubuntu) |
Fix Released
|
Medium
|
Dustin Kirkland | ||
Karmic |
Won't Fix
|
Medium
|
Unassigned | ||
Lucid |
Won't Fix
|
Medium
|
Unassigned | ||
Maverick |
Invalid
|
Medium
|
Unassigned | ||
Natty |
Fix Released
|
Medium
|
Dustin Kirkland |
Bug Description
[Impact]
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/
[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_
* Attempt to start distcc-pump, observe the the include_server module is not found:
# 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/
__________Expected a socket at '/tmp/distcc-
__________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/
/usr/bin/python: can't open file '/usr/bin/
__________Expected a socket at '/tmp/distcc-
__________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.
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.
Related branches
tags: | added: patch |
tags: | added: glucid |
tags: | added: karmic lucid maverick |
description: | updated |
description: | updated |
tags: | added: precise |
Also there in Lucid