Dulwich C extensions and stand-alone Windows installation of bzr
John Arbash Meinel
john at arbash-meinel.com
Mon Sep 12 07:44:13 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 09/12/2011 09:39 AM, Eli Zaretskii wrote:
>> Date: Mon, 12 Sep 2011 16:48:17 +1000
>> From: Andrew Bennetts <andrew at bemusement.org>
>> Cc: Martin Pool <mbp at canonical.com>, bazaar at lists.canonical.com
>>
>> I'm no expert in Dulwich-related matters, but hopefully this is more
>> helpful than not:
>
> Thanks.
>
>> Distutils is part of the Python standard library. If you don't have
>> distutils then it's highly unlikely you have Python.h, which I'm sure
>> Dulwich needs.
>
> Yes, Python.h is needed, I already saw that by looking at the C
> sources. But there's a world of difference between a single header
> (and maybe a bunch of others it pulls in) and a whole Python
> installation. I'm guessing that distutils is a thin wrapper over
> compilation commands, in this particular case. So showing the
> compilation command that is needed to build the shared library would
> allow hackers such as myself to hack a workable solution without the
> need to switch to a Python-based bzr installation.
>
> Of course, having a pre-built DLL available somewhere would be much
> better, but failing that, I'm prepared to invest a reasonable amount
> of effort in having my private solution. Been there, done that
> before.
Where will you get "Python.h" and all of the include files it pulls it?
It seems easy enough to grab the .msi installer, and you have what you need.
>
>> i.e. a standard Python installation is a build dependency, if you
>> want to think of it in those terms.
>
> Yes, that was my conclusion. And therein lies the problem: it means
> one cannot have bzr-git with reasonable performance on Windows, unless
> one installs Python 2.6 and Python-based bzr. And even then, building
> the extensions with a Free Software compiler on Windows is not
> supported out of the box, so some non-trivial effort would still be
> needed to pull that out.
You need it to *build* the extension. After that, the files can be
copied around, or possibly packaged into an installer.
>
>>>> Are you speaking of building Python extensions, or other DLLs?
>>>
>>> Just the C extensions supplied with dulwich, nothing else.
>>
>> To the best of my knowledge, those C extensions *are* Python extensions
>
> Sorry, that's my ignorance of the terminology showing up.
>
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk5tuE0ACgkQJdeBCYSNAAMXXACfeP8/L5JIM5QXKfjubaxNvJ5M
5KQAoNWt7dJXhkd8NNepkkIB5mwkc5r+
=sNmU
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list