[tahoe-dev] status of v1.8.1 -- please adopt an operating system

Scott Dial scott+tahoe-dev at scottdial.com
Sun Nov 14 19:48:59 UTC 2010


On 11/14/2010 3:42 AM, Zooko O'Whielacronx wrote:
> One of the goals for this release is to let people on more platforms
> more easily set up Tahoe-LAFS. (Problems with the setup process are
> probably the number one complaint mentioned on the mailing list and
> issue tracker right now.)
> 
> Tahoe-LAFS itself is pure Python and doesn't need to be compiled at
> all, but some of its dependencies do, so a big part of the "ease of
> setup" goal is to provide binary packages of those dependencies.

(Hi, I'm new to the list.. *waves*)

I actually found this release *less* easy to install. On my linux
machines, neither the setup.py or using easy_install yielded working
dependencies for my system. Eventually I tracked it down to the
pycryptoopp binary egg:

$ ldd _pycryptopp.so
./_pycryptopp.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not
found (required by ./_pycryptopp.so)
$ objdump -p /usr/lib/libstdc++.so.6 | grep '.* .* .* GLIBCXX_' \
  | awk '{ print $4 }' | sort | tail -n1
GLIBCXX_3.4.8

This is a fully updated CentOS 5 box. Whoever built your
pycryptopp-0.5.25_r755-py2.5-linux-i686.egg ended up linking against a
newer ABI than what a lot of people will have, which is not the best
idea if you are going for "ease of setup" (i.e., none of my production
equipment are running that new of a version of libstdc++).

After solving the mystery, I was forced to resort to introspection:

$ python -c "import sys; \
           sys.path.insert(0, 'src/allmydata'); \
           from _auto_deps import install_requires; \
            print '\n'.join(install_requires)" \
  | xargs -I{} pip install "{}"
# This dependency gets missed for some reason:
$ pip install pyOpenSSL

To get all of the dependencies to be built by my system (easy_install
will use the binary eggs, and there is no way to force it to ignore
them), pip was the only tool I could find that would do it without me
being involved.

This release took infinitely longer to install than 1.7, where I just
ran "python setup.py build" and "python setup.py install" and was done.

-- 
Scott Dial
scott at scottdial.com
scodial at cs.indiana.edu


More information about the tahoe-dev mailing list