Rev 3758: Work around bug #276868 by blacklisting pyrex 0.9.4.1 for that extension in http://bzr.arbash-meinel.com/branches/bzr/1.8-dev/block_pyrex_0.9.4.1
John Arbash Meinel
john at arbash-meinel.com
Wed Oct 1 23:11:16 BST 2008
At http://bzr.arbash-meinel.com/branches/bzr/1.8-dev/block_pyrex_0.9.4.1
------------------------------------------------------------
revno: 3758
revision-id: john at arbash-meinel.com-20081001221115-loptk3y40vt7e0uv
parent: pqm at pqm.ubuntu.com-20081001123103-9powbklax4nmw09j
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: block_pyrex_0.9.4.1
timestamp: Wed 2008-10-01 17:11:15 -0500
message:
Work around bug #276868 by blacklisting pyrex 0.9.4.1 for that extension
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS 2008-10-01 12:31:03 +0000
+++ b/NEWS 2008-10-01 22:11:15 +0000
@@ -18,6 +18,13 @@
* ``bzr+http//`` will now optionally load plugins and write logs on the
server. (Marius Kruger)
+ * ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with
+ Pyrex 0.9.4.1 (it generates C code which causes segfaults). We
+ explicitly blacklist that version of the compiler for that
+ extension. Packaged versions will include .c files created with
+ pyrex >= 0.9.6 so it doesn't effect releases, only users running
+ from the source tree. (John Arbash Meinel, #276868)
+
FEATURES
* bzr is now compatible with python-2.6. python-2.6 is not yet officially
=== modified file 'setup.py'
--- a/setup.py 2008-09-26 05:14:51 +0000
+++ b/setup.py 2008-10-01 22:11:15 +0000
@@ -175,6 +175,8 @@
from distutils.command.build_ext import build_ext
else:
have_pyrex = True
+ from Pyrex.Compiler.Version import version as pyrex_version
+ pyrex_version_info = tuple(map(int, pyrex_version.split('.')))
class build_ext_if_possible(build_ext):
@@ -237,7 +239,15 @@
add_pyrex_extension('bzrlib._walkdirs_win32',
define_macros=[('WIN32', None)])
else:
- add_pyrex_extension('bzrlib._dirstate_helpers_c')
+ if have_pyrex and pyrex_version_info < (0, 9, 6, 0):
+ # Pyrex 0.9.4.1 fails to compile this extension correctly
+ print 'Cannot build extension "bzrlib._dirstate_helpers_c" using'
+ print 'your version of pyrex "%s". Please upgrade to a version' % (
+ pyrex_version,)
+ print '>= 0.9.6. For now, the non-compiled (python) version will'
+ print 'be used instead.'
+ else:
+ add_pyrex_extension('bzrlib._dirstate_helpers_c')
add_pyrex_extension('bzrlib._readdir_pyx')
ext_modules.append(Extension('bzrlib._patiencediff_c', ['bzrlib/_patiencediff_c.c']))
More information about the bazaar-commits
mailing list