Hi there, I've spent some time today experimenting with building pywin32 for AMD64. That is, mostly the Py_ssize_t changes from PEP 353 and whatever else the compiler complained about.
I've asked Mark for permission and made a 'AMD64' branch (apparently the first branch on this repository?!). The overall situation on the branch is the following: - It still builds with Python 2.4, meaning the changes are apparently backward compatible - It does not finish building with Python 2.5 AMD64, but it's pretty close. - I had to disable the building of 'axdebug', since it complained about a certain function ending with '64' which I could not figure how to declare. - The build fails when building the 'shell' module, with the error below. The process I'm using to build is: - Open the Platform SDK "Set Windows XP x64 Build Environment (Retail)" - 'set DISTUTILS_USE_SDK=1' - 'set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include' (so it finds 'dxsound.h') - 'C:\Python25\python.exe setup.py build' The only thing that looks suspect on the output is that cl.exe from the SDK does not support the '/YX' switch, though maybe that doesn't matter. For reference, here's the diff between HEAD and the branch. https://houston.enfoldsystems.com/files/sidnei/pywin32-amd64.diff ******************************************************** C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin\Win64\x86 \AMD64\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:C:\Program Files\Microsof t Platform SDK for Windows Server 2003 R2\lib\AMD64" /LIBPATH:c:\Python25\libs / LIBPATH:c:\Python25\PCBuild /LIBPATH:build\temp.win32-2.5\Release shell32.lib ol eaut32.lib ole32.lib /EXPORT:initshell build\temp.win32-2.5\Release\com/win32com ext/shell/src/PyIActiveDesktop.obj build\temp.win32-2.5\Release\com/win32comext/ shell/src/PyIAsyncOperation.obj build\temp.win32-2.5\Release\com/win32comext/she ll/src/PyIBrowserFrameOptions.obj build\temp.win32-2.5\Release\com/win32comext/s hell/src/PyIColumnProvider.obj build\temp.win32-2.5\Release\com/win32comext/shel l/src/PyIContextMenu.obj build\temp.win32-2.5\Release\com/win32comext/shell/src/ PyICopyHook.obj build\temp.win32-2.5\Release\com/win32comext/shell/src/PyIDeskBa nd.obj build\temp.win32-2.5\Release\com/win32comext/shell/src/PyIDockingWindow.o bj build\temp.win32-2.5\Release\com/win32comext/shell/src/PyIDropTargetHelper.ob j build\temp.win32-2.5\Release\com/win32comext/shell/src/PyIEnumIDList.obj build \temp.win32-2.5\Release\com/win32comext/shell/src/PyIExtractIcon.obj build\temp. win32-2.5\Release\com/win32comext/shell/src/PyIInputObject.obj build\temp.win32- 2.5\Release\com/win32comext/shell/src/PyIPersistFolder.obj build\temp.win32-2.5\ Release\com/win32comext/shell/src/PyIQueryAssociations.obj build\temp.win32-2.5\ Release\com/win32comext/shell/src/PyIShellBrowser.obj build\temp.win32-2.5\Relea se\com/win32comext/shell/src/PyIShellExtInit.obj build\temp.win32-2.5\Release\co m/win32comext/shell/src/PyIShellFolder.obj build\temp.win32-2.5\Release\com/win3 2comext/shell/src/PyIShellIcon.obj build\temp.win32-2.5\Release\com/win32comext/ shell/src/PyIShellIconOverlay.obj build\temp.win32-2.5\Release\com/win32comext/s hell/src/PyIShellIconOverlayIdentifier.obj build\temp.win32-2.5\Release\com/win3 2comext/shell/src/PyIShellIconOverlayManager.obj build\temp.win32-2.5\Release\co m/win32comext/shell/src/PyIShellLink.obj build\temp.win32-2.5\Release\com/win32c omext/shell/src/PyIShellLinkDataList.obj build\temp.win32-2.5\Release\com/win32c omext/shell/src/PyIShellView.obj build\temp.win32-2.5\Release\com/win32comext/sh ell/src/PyIUniformResourceLocator.obj build\temp.win32-2.5\Release\com/win32come xt/shell/src/shell.obj /OUT:build\lib.win32-2.5\win32comext/shell\shell.pyd /IMP LIB:build\temp.win32-2.5\Release\com/win32comext/shell/src\shell.lib /MACHINE:AM D64 /BASE:0x1e7d0000 shell.obj : warning LNK4197: export 'initshell' specified multiple times; using first specification Creating library build\temp.win32-2.5\Release\com/win32comext/shell/src\shell .lib and object build\temp.win32-2.5\Release\com/win32comext/shell/src\shell.exp PyIShellView.obj : error LNK2001: unresolved external symbol "int __cdecl PyObje ct_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int * )" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) shell.obj : error LNK2001: unresolved external symbol "int __cdecl PyObject_AsPI DL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int *)" (?Py Object_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellFolder.obj : error LNK2001: unresolved external symbol "int __cdecl PyOb ject_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellIcon.obj : error LNK2001: unresolved external symbol "int __cdecl PyObje ct_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int * )" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellIconOverlay.obj : error LNK2001: unresolved external symbol "int __cdecl PyObject_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigne d int *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellLink.obj : error LNK2001: unresolved external symbol "int __cdecl PyObje ct_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int * )" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIEnumIDList.obj : error LNK2019: unresolved external symbol "int __cdecl PyObj ect_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned int *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) referenced in function "protected: virtual long __cdecl PyGEnumIDList::Next(unsigned long,s truct _ITEMIDLIST __unaligned * *,unsigned long *)" ([EMAIL PROTECTED]@@MEAAJK PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIPersistFolder.obj : error LNK2001: unresolved external symbol "int __cdecl Py Object_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned i nt *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellBrowser.obj : error LNK2001: unresolved external symbol "int __cdecl PyO bject_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned in t *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) PyIShellExtInit.obj : error LNK2001: unresolved external symbol "int __cdecl PyO bject_AsPIDL(struct _object *,struct _ITEMIDLIST __unaligned * *,int,unsigned in t *)" (?PyObject_AsPIDL@@YAHPEAU_object@@PEAPEFAU_ITEMIDLIST@@[EMAIL PROTECTED]) build\lib.win32-2.5\win32comext/shell\shell.pyd : fatal error LNK1120: 1 unresol ved externals error: command 'link.exe' failed with exit status 1120 ******************************************************** -- Sidnei da Silva Enfold Systems http://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32