On 27 Sep 2010, at 08:52, Paul Keating wrote:

Python 2.6
I think it is only in the demo code, because I got what I needed to compile, eventually.
The version of PyCxx 6.1.1 that is delivered in the PySvn 1.7.2 project needed some changes though. The installer hasn't been brought into line with the unification of Python2 and Python 3 support in subfolders of include\CXX and %python%\share\python2.6\CXX. It doesn't know to copy the subfolders. The include files do know about the Python2/3 subfolders, but don't agree on the subfolder structure. PyCXX.RTF has a full description, and there is a patch for the include files in PySvn-patch.txt.

You don't need to install pycxx to build pysvn. Pysvn compiles it from the Imports folder.


I still can't link-edit PySvn though, because of dependencies on Subversion binaries. I really can't face compiling Subversion from scratch. Even the Subversion developers say that they think it's a bit much for an end-user to attempt.
From: Barry Scott [mailto:barry@barrys-emacs.org] 
Sent: 25 September 2010 10:58
To: Discuss PyCXX use and improvement
Subject: Re: Compiling PyCXX 6.1.1 for 64-bit
On 1 Sep 2010, at 15:42, Paul Keating wrote:

I need to deploy PySvn 1.7.2 on a 64-bit Windows platform, even though my own workstation isn't 64-bit. So I need 64-bit DLLs, which aren't packaged, so I need to compile them myself from source. But first…
Which version of python are you using?
I'm compiling PyCXX 6.1.1 because it is a dependency of PySvn 1.7.2. But first…
I'm running into this error:
2>d:\visual studio 2008 projects\pysvn-1.7.2\import\pycxx-6.1.1\demo\python2\range.hxx(115) : error C2440: '<function-style-cast>' : cannot convert from 'Py_ssize_t' to 'Py::Int'
2>        No constructor could take the source type, or constructor overload resolution was ambiguous
I'll have to test this and see what happens. It may only be a bug in the demo code.

My preprocessor directives include  
/D "_WIN64" /D "_M_X64"
Do you have a 64 bit C++ compiler? 
I have "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\cl.exe"
But I'm not sure how this was installed. Its from with the Windows SDK or
the Visual C++ Express.
These defines will not help on their own and my not be needed at all.
(I'm fairly sure these are correct, because I copied them from the Python source project, which does compile) and this in turn causes ssize_t to be defined as __int64.  I don't know what else to change to get this to compile. I'm a Python programmer who last programmed in C on OS/2 version 1.2 so I'm afraid the solution isn't obvious. I tried overloading the Int() constructor to accept a Py_ssize_t argument, but that just moved (and multiplied) the problem.
CHanging to Py::Long is probable the way to go.

(And, before you ask, I can’t continue to use 32-bit Python on the 64-bit machines. I have no choice about the Python interpreter because it is embedded in a 64-bit application and so needs a 64-bit PySvn .pyd file.)

The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail. Please delete this e-mail and do not disclose its contents to any person. NIBC Holding N.V. nor its subsidiaries accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission. NIBC Holding N.V. (Chamber of commerce nr. 27282935), NIBC Bank N.V. (Chamber of commerce nr. 27032036) and NIBC Investment Management N.V. (Chamber of commerce nr. 27253909) all have their corporate seat in The Hague, The Netherlands.

De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, gelieve onmiddellijk contact op te nemen met de afzender per kerende e-mail. Wij verzoeken u dit e-mailbericht te Vernietigen en de inhoud ervan aan niemand openbaar te maken. NIBC Holding N.V. noch haar dochterondernemingen aanvaarden enige aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor door haar daarbij overgebrachte virussen. NIBC Holding N.V. (KvK nr. 27282935), NIBC Bank N.V. (KvK nr. 27032036) and NIBC Investment Management N.V. (KvK nr. 27253909) zijn statutair gevestigd te Den Haag, Nederland.
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
CXX-Users mailing list