Opened at 2008-01-16T05:35:08Z
Closed at 2008-06-03T05:44:10Z
#278 closed defect (fixed)
setuptools vs. swig on debian sid
Reported by: | warner | Owned by: | warner |
---|---|---|---|
Priority: | major | Milestone: | 1.1.0 |
Component: | packaging | Version: | 0.7.0 |
Keywords: | debian | Cc: | |
Launchpad Bug: |
Description
A fresh checkout fails to compile on my laptop, which is running debian "sid" (aka "unstable"). I suspect that something on my box is too new for one of our support libraries. I checked out a tree and typed 'make', and got the following traceback:
... Installed /home/warner/stuff/Projects/Work/AllMyData/tahoe/t2/support/lib/python2.4/site-packages/tahoe_deps-1-py2.4.egg Processing dependencies for tahoe-deps==1 Searching for zope.interface>=3.1.0 Best match: zope.interface 3.4.0 Processing zope.interface-3.4.0.tar Running zope.interface-3.4.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-T2kI_8/zope.interface-3.4.0/egg-dist-tmp-Hzei_c Traceback (most recent call last): File "misc/dependencies/setup.py", line 49, in ? zip_safe=False ... File "/usr/lib/python2.4/distutils/command/install_lib.py", line 110, in build self.run_command('build_ext') File "/usr/lib/python2.4/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command cmd_obj.run() File "/usr/lib/python2.4/site-packages/setuptools/command/build_ext.py", line 46, in run _build_ext.run(self) File "/usr/lib/python2.4/distutils/command/build_ext.py", line 279, in run self.build_extensions() File "/usr/lib/python2.4/site-packages/Pyrex/Distutils/build_ext.py", line 82, in build_extensions self.build_extension(ext) File "/usr/lib/python2.4/site-packages/setuptools/command/build_ext.py", line 175, in build_extension _build_ext.build_extension(self,ext) File "/usr/lib/python2.4/distutils/command/build_ext.py", line 442, in build_extension sources = self.swig_sources(sources, ext) File "/usr/lib/python2.4/site-packages/setuptools/command/build_ext.py", line 77, in swig_sources sources = _build_ext.swig_sources(self, sources) or sources TypeError: swig_sources() takes exactly 3 arguments (2 given) Build of Tahoe's bundled, automatically built dependent libraries failed -- please see docs/install.html for instructions. make: *** [build-auto-deps] Error 1
This is on a box that has the following debian packages installed:
Nevow-0.9.29 Foolscap-0.2.2 setuptools-0.6c7 (debian version 0.6c7-1) simplejson-1.7.3 zfec-1.1 zope.interface-3.3.1
So my understanding of our dependencies suggests that it shouldn't have been building nevow at all. (I notice that the installed Nevow-0.9.29.egg-info file says "Name: Nevow" and "Version: 0.9.29" .. could the Name field be case-sensitive?).
I'll investigate this further, it feels like more of an internal setuptools problem than a tahoe thing, but I figured I'd add a ticket just in case someone else is seeing the same problem.
Change History (9)
comment:1 Changed at 2008-01-16T05:44:58Z by warner
comment:2 Changed at 2008-01-16T05:53:40Z by warner
FYI, temporarily modifying the section of /usr/lib/python2.4/site-packages/setuptools/command/build_ext.py which reads:
if _build_ext is not _du_build_ext: # Workaround for problems using some Pyrex versions w/SWIG and/or 2.4 def swig_sources(self, sources, *otherargs): # first do any Pyrex processing sources = _build_ext.swig_sources(self, sources) or sources # Then do any actual SWIG stuff on the remainder return _du_build_ext.swig_sources(self, sources, *otherargs)
to say:
if _build_ext is not _du_build_ext: # Workaround for problems using some Pyrex versions w/SWIG and/or 2.4 def swig_sources(self, sources, *otherargs): # first do any Pyrex processing sources = _build_ext.swig_sources(self, sources,None) or sources # Then do any actual SWIG stuff on the remainder return _du_build_ext.swig_sources(self, sources, *otherargs)
makes the problem go away.
comment:3 Changed at 2008-01-16T06:02:02Z by warner
I retract one statement above: obviously the build was compiling zope.interface, not nevow. I have no idea why I thought it was building nevow.
the build-deps step built the following packages:
- zope.interface
- pycryptopp
- foolscap
- zfec
- pyutil
- argparse
All of these were expected except for zope.interface. Looking more closely, I see that the installed zope.interface egg-info file claims a version of "0.0.0", so it appears that z.i was being built due to a reports-its-version-wrong bug in the debian packaging.
One mystery solved, one to go. I still don't know why the TypeError exception just started recently.
comment:4 Changed at 2008-03-08T23:03:38Z by zooko
According to the setuptools release notes, this was fixed in the 0.6c8 a.k.a. 0.6 final:
http://peak.telecommunity.com/DevCenter/setuptools#release-notes-change-history
I know that you recently upgraded to that version of setuptools on your sid box -- did it change this behavior?
comment:5 Changed at 2008-05-15T12:43:26Z by zooko
- Owner changed from somebody to warner
- Summary changed from build-deps failure on debian sid to setuptools vs. swig on debian sid
Brian: was this issue fixed by upgrading to setuptools 0.6c8?
comment:6 Changed at 2008-05-30T16:53:40Z by zooko
Brian: can we close this ticket?
comment:7 Changed at 2008-06-01T21:03:09Z by warner
- Milestone changed from eventually to undecided
comment:8 Changed at 2008-06-02T16:41:05Z by zooko
- Milestone changed from undecided to 1.1.0
comment:9 Changed at 2008-06-03T05:44:10Z by warner
- Resolution set to fixed
- Status changed from new to closed
My debian/sid system now has python-setuptools-0.6c8-3 installed, and a tahoe compile no longer encounters this problem. It is worth pointing out that tahoe no longer tries to build zope.interface (it says "zope.interface 3.3.1 is already the active version in easy-install.pth"), so I can't tell if the problem went away because setuptools got better or because zope.interface now has the correct egg.info file .
In any case, sid works again, so I'll close this ticket.
For reference, this system also has pyrex-0.9.6.4 installed on it. According to this page, 0.9.6.4 is the latest version (released about 6 weeks ago).
http://www.thescripts.com/forum/thread40367.html seems to be related, although it suggests that older versions of pyrex have the problem. Perhaps even the latest pyrex has the same problem? I'm not sure why this popped up now, though, I'm fairly certain that some update on my box in the last few days has triggered it.