On Sat, Sep 22, 2012 at 11:25 AM, Muse Gk <goknm...@gmail.com> wrote: > > c:/users/gk/downloads/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/../../../. > ./x86_64-w64-mingw32/bin/ld.exe: skipping incompatible > C:\Python27\libs/libpytho > n27.a when searching for -lpython27
FYI, -lpython27 is for linking to the python27 library. gcc links each extension module against the import library "libpython27.a" so at runtime the module can access the exported functions and data of the shared library "python27.dll". I just checked the contents of the 64-bit installer, python-2.7.3.amd64.msi, and it doesn't include libpython27.a, the import lib needed by gcc. 64-bit ActivePython might have it, but otherwise I suspect you have a 32-bit Python installation. Are you sure you have 64-bit Python installed? The official 64-bit installer only comes with python27.lib, the import library used by MSVC. Apparently differences in the C++ runtime between MSVC and gcc make using gcc on Windows officially unsupportable. (Yet they continue to include libpython27.a in the 32-bit version, which I'd imagine is equally unsupportable.) PyCrypto is only C, so this probably isn't an issue. I'm not 100% certain, however. All I can say is that in the past when I used Windows I had no problems with C extensions built with MinGW for 32-bit Python. I mostly stick to Debian Linux these days, so I'm not up to date on the pitfalls of 64-bit Windows. Assuming you've installed the official 64-bit Python, you can try creating your own libpython27.a import lib using gendef and dlltool (these should be in your MinGW-w64 installation). Start by copying C:\Windows\System32\python27.dll to a temp directory. Then run the following: gendef python27.dll This creates "python27.def", which lists the DLL's exports. Open this file and search for "Py_InitModule4". Make sure the name has _64 appended to it, i.e. "Py_InitModule4_64". If not, add it. Then run the following: dlltool --dllname python27.dll --input-def python27.def --output-lib libpython27.a Copy "libpython27.a" to C:\Python27\libs. As before make sure the library path is set: set LIBRARY_PATH=C:\Python27\libs For good measure, manually define the macro MS_WIN64 in the build/install command: python setup.py build_ext -DMS_WIN64 install If this fails, don't hesitate to reply with the errors. I don't mind. But it might be time to throw in the towel. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor