[tahoe-dev] Build problems: using installed packages, and install failure

Zooko Wilcox-O'Hearn zooko at zooko.com
Fri Jan 29 17:50:16 UTC 2010

On Friday, 2010-01-29, at 10:32 , Jack Lloyd wrote:

> A number of Tahoe's dependencies (including Twisted, Crypto++, etc)
> are already installed on my system. But if I run
> `python setup.py build`
> I see things like:
> Searching for Twisted>=2.4.0
> Best match: Twisted 8.2.0
> Downloading http://allmydata.org/source/tahoe/deps/tahoe-dep-sdists/ 
> Twisted-8.2.0.tar.bz2

This is probably #657 or #717, but just to confirm, if Twisted is  
properly installed then the following command-line should confirm it:

python -c 'import pkg_resources;print pkg_resources.require("Twisted")'

> How do I tell Tahoe to use already installed versions where possible?

It is supposed to.  So I guess the answer is "upgrade the build tool  
that we're using from 'setuptools' to 'distribute' and see if that  
fixes #657 or #717". :-)

> This is going to be essential for getting an tahoe-lafs ebuild into  
> Gentoo, I think.

The Debian/Ubuntu packaging, by Brian, strips out the entire setup.py  
file and replaces it with a minimal one that is more in accordance  
with Debian's expectations, if I recall correctly. Maybe something  
like that would satisfy Gentoo too.

> Checking .pth file support in support/lib/python2.6/site-packages
> error: can't create or remove files in install directory
> The following error occurred while trying to add or remove files in  
> the
> installation directory:
>     [Errno 2] No such file or directory: 'support/lib/python2.6/ 
> site-packages/test-easy-install-19886.pth'
> The installation directory you specified (via --install-dir, -- 
> prefix, or
> the distutils default setting) was:
>     support/lib/python2.6/site-packages

This means that the build tool that is running on your system is not  
the patched version of setuptools which gets bundled with Tahoe-LAFS  
which has a patch to make it stop doing that (setuptools ticket #54,  
distribute ticket #46). Instead you are probably using upstream  
setuptools. A work-around would be to somehow force it to use our  
patched version of setuptools. Or, persuade the 'distribute' project  
to accept a patch for their ticket #46 and switch from setuptools to  
distribute. :-)




http://allmydata.org/trac/tahoe/ticket/717# unnecessary rebuild of  
dependencies when tahoe-deps/ is present
http://bugs.python.org/setuptools/issue54# be more like distutils  
with regard to --prefix=

More information about the tahoe-dev mailing list