[tahoe-lafs-trac-stream] [tahoe-lafs] #1435: incompatibility between zope.interface 3.6.4 and Nevow 0.10
tahoe-lafs
trac at tahoe-lafs.org
Mon Jul 18 12:28:13 PDT 2011
#1435: incompatibility between zope.interface 3.6.4 and Nevow 0.10
-------------------------------------------------+-------------------------
Reporter: davidsarah | Owner:
Type: defect | somebody
Priority: critical | Status: new
Component: packaging | Milestone: 1.9.0
Keywords: zope.interface nevow packaging | Version: 1.8.2
setuptools | Launchpad Bug: 811792
-------------------------------------------------+-------------------------
The following error happens on {{{python setup.py build}}} when using
Nevow 0.10 and zope.interface 3.6.4 (it appears to be the new version of
zope.interface that introduces the problem, since we normally work fine
with Nevow 0.10):
{{{
> python setup.py build
running darcsver
setup.py darcsver: using extant version file ['src/allmydata/_version.py']
running develop
Not found: tahoe-deps
Not found: ../tahoe-deps
running egg_info
writing requirements to src/allmydata_tahoe.egg-info/requires.txt
writing src/allmydata_tahoe.egg-info/PKG-INFO
writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
writing dependency_links to src/allmydata_tahoe.egg-
info/dependency_links.txt
writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
writing requirements to src/allmydata_tahoe.egg-info/requires.txt
writing src/allmydata_tahoe.egg-info/PKG-INFO
writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
writing dependency_links to src/allmydata_tahoe.egg-
info/dependency_links.txt
writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
reading manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
writing manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
running build_ext
Processing setuptools_darcs-1.2.12.egg
removing '/home/tux/allmydata-tahoe-1.8.2/support/lib/python2.6/site-
packages/setuptools_darcs-1.2.12.egg' (and everything under it)
Copying setuptools_darcs-1.2.12.egg to /home/tux/allmydata-
tahoe-1.8.2/support/lib/python2.6/site-packages
setuptools-darcs 1.2.12 is already the active version in easy-install.pth
Installed /home/tux/allmydata-tahoe-1.8.2/support/lib/python2.6/site-
packages/setuptools_darcs-1.2.12.egg
Creating /home/tux/allmydata-tahoe-1.8.2/support/lib/python2.6/site-
packages/allmydata-tahoe.egg-link (link to src)
allmydata-tahoe 1.8.2 is already the active version in easy-install.pth
Installing tahoe script to support/bin
Installed /home/tux/allmydata-tahoe-1.8.2/src
Processing dependencies for allmydata-tahoe==1.8.2
Searching for Nevow>=0.6.0
Reading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/
Reading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/
Best match: Nevow 0.10.0
Downloading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-
sdists/Nevow-0.10.0.tar.bz2
Processing Nevow-0.10.0.tar.bz2
Running Nevow-0.10.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-
moUdxw/Nevow-0.10.0/egg-dist-tmp-dXJymM
/tmp/easy_install-moUdxw/Nevow-0.10.0/formless/annotate.py:730:
DeprecationWarning: object.__new__() takes no parameters
rv = cls = InterfaceClass.__new__(cls, name, bases, dct)
Traceback (most recent call last):
File "setup.py", line 417, in <module>
**setup_args
File "/usr/lib/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/develop.py", line
23, in run
self.old_run()
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/develop.py", line
33, in old_run
self.install_for_development()
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/develop.py", line
103, in install_for_development
self.process_distribution(None, self.dist, not self.no_deps)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 526, in process_distribution
[requirement], self.local_index, self.easy_install
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/pkg_resources.py", line 573, in
resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/pkg_resources.py", line 823, in
best_match
return self.obtain(req, installer) # try and download/install
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/pkg_resources.py", line 835, in
obtain
return installer(requirement)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 453, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 483, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 663, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 938, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/command/easy_install.py",
line 927, in run_setup
run_setup(setup_script, args)
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/sandbox.py", line 62, in
run_setup
lambda: execfile(
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/sandbox.py", line 105, in
run
return func()
File "/home/tux/allmydata-
tahoe-1.8.2/setuptools-0.6c16dev3.egg/setuptools/sandbox.py", line 64, in
<lambda>
{'__file__':setup_script, '__name__':'__main__'}
File "setup.py", line 3, in <module>
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/nevow/__init__.py", line
143, in <module>
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/nevow/__init__.py", line 29,
in load
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/nevow/util.py", line 183, in
_namedAnyWithBuiltinTranslation
File "/home/tux/allmydata-
tahoe-1.8.2/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/python/reflect.py",
line 464, in namedAny
topLevelPackage = _importAndCheckStack(trialname)
File "/home/tux/allmydata-
tahoe-1.8.2/Twisted-10.2.0-py2.6-linux-i686.egg/twisted/python/reflect.py",
line 400, in _importAndCheckStack
return __import__(importName)
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/formless/__init__.py", line
9, in <module>
# See the README file for information on usage and redistribution.
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/formless/annotate.py", line
851, in <module>
File "/tmp/easy_install-moUdxw/Nevow-0.10.0/formless/annotate.py", line
731, in __new__
File "/home/tux/allmydata-
tahoe-1.8.2/zope.interface-3.6.4-py2.6-linux-i686.egg/zope/interface/interface.py",
line 685, in __hash__
return hash((self.__name__, self.__module__))
AttributeError: 'MetaTypedInterface' object has no attribute '__name__'
}}}
Drew Perttula posted a workaround to
[http://drewp.quickwitretort.com/2011/07/08/0 monkey-patch
zope.interface], but it is difficult for Tahoe to apply this workaround
because the failure happens in {{{setup.py build}}}, before any run-time
Tahoe code has executed.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1435>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list