Dulwich C extensions and stand-alone Windows installation of bzr

Eli Zaretskii eliz at gnu.org
Mon Sep 12 07:39:05 UTC 2011


> 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.

> 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.

> > > 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.



More information about the bazaar mailing list