[MERGE][bug 276868] Blacklist pyrex 0.9.4.1

John Arbash Meinel john at arbash-meinel.com
Thu Oct 2 17:42:23 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martin Pool wrote:
> On Thu, Oct 2, 2008 at 11:58 AM, John Arbash Meinel
> <john at arbash-meinel.com> wrote:
>>> I think in general we're a bit too tolerant of people running without
>>> compiled extensions and therefore seeing bad performance, and we
>>> should do something about that.  Maybe setup.py should fail unless you
>>> specify --without-compiled-extensions or something.  But that's beyond
>>> the scope of this patch.
>>>

...

> 
> Well, I think it would be great :-)
> 
> There are two complimentary bits I would say: we don't want pqm (or
> usertest for that matter) to skip building them without us knowing,
> and we don't want users having eg slow dirstates withouth them
> knowing.  In either case the tradeoff might be worthwhile if say there
> is no available working copy of pyrex.  I don't think we'd want to do
> it just at runtime as that might get annoying.
> 

It turned out to be easier than I expected. It seems that we had already
overridden "build_ext" so that we could disable strict checking. This
patch just adds a flag to control it (defaulting to strict).

John
=:->


PS> Here are some sample outputs. I think they are reasonably well
formatted, but we can polish as necessary:

$ py ./setup.py build_ext -i
running build_ext
building 'bzrlib._patiencediff_c' extension
C:\cygwin\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\Python25\include
- -Ic:\Python25\PC -c bzrlib/_patiencediff_c.c -o
build\temp.win32-2.5\Release\bzrlib\_patiencediff_c.o
bzrlib/_patiencediff_c.c:32:2: #error failure

  Failed to build "bzrlib._patiencediff_c".
  Use --allow-python-fallback to use slower python implementations instead.

error: command 'gcc' failed with exit status 1


$ py ./setup.py build_ext -i --allow-python-fallback
running build_ext
building 'bzrlib._patiencediff_c' extension
C:\cygwin\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\Python25\include
- -Ic:\Python25\PC -c bzrlib/_patiencediff_c.c -o
build\temp.win32-2.5\Release\bzrlib\_patiencediff_c.o
bzrlib/_patiencediff_c.c:32:2: #error failure

  Building of "bzrlib._patiencediff_c" extension failed.
  Using the slower Python implementation instead.


$ py ./setup.py build_ext -i
running build_ext
building 'bzrlib._patiencediff_c' extension
C:\cygwin\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\Python25\include
- -Ic:\Python25\PC -c bzrlib/_p
atiencediff_c.c -o build\temp.win32-2.5\Release\bzrlib\_patiencediff_c.o
bzrlib/_patiencediff_c.c:32:2: #error failure

  Building of "bzrlib._patiencediff_c" extension failed.
  Using the slower Python implementation instead.

$ py ./setup.py build_ext -i --compiler=msvc
running build_ext

  Cannot build extensions.
  Use --allow-python-fallback to use slower python implementations instead.

error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible
binaries. Visual Studio 2003 was not found on this system. If you have
Cygwin installed, you can try compiling with MingW32, by passing "-c
mingw32" to setup.py.

$ py ./setup.py build_ext -i --compiler=msvc --allow-python-fallback
running build_ext
Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible
binaries. Visual Studio 2003 was not found on this system. If you have
Cygwin installed, you can try compiling with MingW32, by passing "-c
mingw32" to setup.py.

  Extensions cannot be built.
  Using the slower Python implementations instead.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEUEARECAAYFAkjk+e8ACgkQJdeBCYSNAAPtBACgjIagPHfq7DUYOH+2EcX5pDDH
Df8AmISPpAMXtdq+z93mtBZx1KQanL0=
=3Hpl
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: setup_fail.patch
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20081002/d5d880d3/attachment-0001.diff 


More information about the bazaar mailing list