On 12/03/2010 11:40, Robin Becker wrote:
........
I assume I can get those from a working Python amd64 install and stuff
on one of the compiler paths somehow.
Not sure if this is a bug; I dug around a bit and find that because of the cross
compilation distutils is supposed to add an extra library path with the name
PCbuild\AMD64 when doing x86-->amd64 cross builds.
I tried copying the 2.6.4 amd64 libs/dlls etc etc into c:\python26\PCbuild\AMD64
and reran my cross build
c:\python26\python setup.py build --plat-name=win-amd64
however, that still gives linker import errors.
Looked in the output I see this
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\x86_amd64\link.exe /DLL
/nologo /INCREMENTAL:NO /LIBPATH:C:\python26
\libs /LIBPATH:C:\python26\PCbuild\amd64 /EXPORT:init_rl_accel
build\temp.win-amd64-2.6\Release\_rl_accel.obj /OUT:build
\lib.win-amd64-2.6\_rl_accel.pyd
/IMPLIB:build\temp.win-amd64-2.6\Release\_rl_accel.lib
/MANIFESTFILE:build\temp.win-amd
64-2.6\Release\_rl_accel.pyd.manifest
Creating library build\temp.win-amd64-2.6\Release\_rl_accel.lib and object
build\temp.win-amd64-2.6\Release\_rl_accel
.exp
_rl_accel.obj : error LNK2019: unresolved external symbol __imp_PyNumber_Int
referenced in function _parseSequenceInt
_rl_accel.obj : error LNK2019: unresolved external symbol
__imp_PySequence_GetItem referenced in function _parseSequence
that looks wrong because I'm using 32 bit python to do the build and
/LIBPATH:C:\python26\libs /LIBPATH:C:\python26\PCbuild\amd64
means that the 32 bit libraries are first. Running the linker command by itself
(without the 32bit libs in the command) works fine ie
C:\ux\PydBuilder\rl_addons\rl_accel>"C:\Program Files\Microsoft Visual Studio
9.0\VC\BIN\x86_amd64\link.exe" /DLL /nolog
o /INCREMENTAL:NO /LIBPATH:C:\python26\PCbuild\amd64 /EXPORT:init_rl_accel
build\temp.win-amd64-2.6\Release\_rl_accel.ob
j /OUT:build\lib.win-amd64-2.6\_rl_accel.pyd
/IMPLIB:build\temp.win-amd64-2.6\Release\_rl_accel.lib /MANIFESTFILE:build\
temp.win-amd64-2.6\Release\_rl_accel.pyd.manifest
Creating library build\temp.win-amd64-2.6\Release\_rl_accel.lib and object
build\temp.win-amd64-2.6\Release\_rl_accel
.exp
seems to work fine and produce a pyd in build\lib.win-amd64-2.6
--
Robin Becker
--
http://mail.python.org/mailman/listinfo/python-list