Build failed on Windows 7 (64-bit)

Zaheer Chothia avatarZaheer Chothia created an issue

cffi revision: 4606e24045b3

Python 2.7.3 (64-bit)

Operating System: Windows 7 SP1, 64-bit [Version 6.1.7601]

Compiling with Microsoft (R) C/C++ Optimizing Compiler Version 15.00.30729.01 for x64 (from Windows SDK v7.0)

C:\Python27\Lib\site-packages-develop\cffi.hg>python setup.py build
zip_safe flag not set; analyzing archive contents...

Installed c:\python27\lib\site-packages-develop\cffi.hg\hgdistver-0.16-py2.7.egg
running build
running build_py
creating build
creating build\lib.win-amd64-2.7
creating build\lib.win-amd64-2.7\cffi
copying cffi\api.py -> build\lib.win-amd64-2.7\cffi
copying cffi\backend_ctypes.py -> build\lib.win-amd64-2.7\cffi
copying cffi\cparser.py -> build\lib.win-amd64-2.7\cffi
copying cffi\ffiplatform.py -> build\lib.win-amd64-2.7\cffi
copying cffi\model.py -> build\lib.win-amd64-2.7\cffi
copying cffi\verifier.py -> build\lib.win-amd64-2.7\cffi
copying cffi\__init__.py -> build\lib.win-amd64-2.7\cffi
running build_ext
building '_ffi_backend' extension
error: Don't know how to compile c/libffi_msvc\win64.asm

This occurs because distutils doesn't support .asm files. This can be resolved by applying the patch from Python issue 7546. Now there are some compile errors:

C:\Python27\Lib\site-packages-develop\cffi.hg>python setup.py build
zip_safe flag not set; analyzing archive contents...

Installed c:\python27\lib\site-packages-develop\cffi.hg\hgdistver-0.16-py2.7.egg
running build
running build_py
creating build
creating build\lib.win-amd64-2.7
creating build\lib.win-amd64-2.7\cffi
copying cffi\api.py -> build\lib.win-amd64-2.7\cffi
copying cffi\backend_ctypes.py -> build\lib.win-amd64-2.7\cffi
copying cffi\cparser.py -> build\lib.win-amd64-2.7\cffi
copying cffi\ffiplatform.py -> build\lib.win-amd64-2.7\cffi
copying cffi\model.py -> build\lib.win-amd64-2.7\cffi
copying cffi\verifier.py -> build\lib.win-amd64-2.7\cffi
copying cffi\__init__.py -> build\lib.win-amd64-2.7\cffi
running build_ext
building '_ffi_backend' extension
creating build\temp.win-amd64-2.7
creating build\temp.win-amd64-2.7\Release
creating build\temp.win-amd64-2.7\Release\c
creating build\temp.win-amd64-2.7\Release\c\libffi_msvc
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic/libffi_msvc -IC:\Python27\include -IC:\Python27\PC /Tcc/_ffi_backend.c /Fobuild\temp.win-amd64-2.7\Release\c/_ffi_backend.obj
_ffi_backend.c
c/_ffi_backend.c(175) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(176) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(565) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(586) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(594) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(615) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(629) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(794) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(795) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(797) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(804) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(805) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(807) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(812) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(877) : error C2275: 'CFieldObject' : illegal use of this type as an expression
        c/_ffi_backend.c(84) : see declaration of 'CFieldObject'
c/_ffi_backend.c(877) : error C2065: 'cf' : undeclared identifier
c/_ffi_backend.c(878) : error C2065: 'cf' : undeclared identifier
c/_ffi_backend.c(878) : warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
c/_ffi_backend.c(882) : error C2065: 'cf' : undeclared identifier
c/_ffi_backend.c(882) : warning C4047: 'function' : 'CFieldObject *' differs in levels of indirection from 'int'
c/_ffi_backend.c(882) : warning C4024: 'convert_field_from_object' : different types for formal and actual parameter 2
c/_ffi_backend.c(945) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(947) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(967) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(1132) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(1875) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(1943) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(2243) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2261) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2349) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2357) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2364) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2365) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2503) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(2684) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'unsigned short', possible loss of data
c/_ffi_backend.c(2799) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(2814) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2827) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
c/_ffi_backend.c(2847) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'int', possible loss of data
c/_ffi_backend.c(2896) : warning C4244: 'function' : conversion from 'Py_ssize_t' to 'unsigned int', possible loss of data
c/_ffi_backend.c(3131) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
error: command 'cl.exe' failed with exit status 2

Comments (13)

  1. Zaheer Chothia

    I was expecting several errors, but it turns out only one fix is needed:

    diff --git a/c/_ffi_backend.c b/c/_ffi_backend.c
    --- a/c/_ffi_backend.c
    +++ b/c/_ffi_backend.c
    @@ -868,13 +868,14 @@
         }
         if (ct->ct_flags & CT_UNION) {
     
    +        CFieldObject *cf;
             if (CData_Check(init)) {
                 if (((CDataObject *)init)->c_type == ct && ct->ct_size >= 0) {
                     memcpy(data, ((CDataObject *)init)->c_data, ct->ct_size);
                     return 0;
                 }
             }
    -        CFieldObject *cf = (CFieldObject *)ct->ct_extra;   /* first field */
    +        cf = (CFieldObject *)ct->ct_extra;   /* first field */
             if (cf == NULL) {
                 PyErr_SetString(PyExc_ValueError, "empty union");
                 return -1;
    
    
  2. Zaheer Chothia

    Now there are some problems with the test suite. If I run with py.test the Python interpreter crashes due to an access violation:

    C:\Python27\Lib\site-packages-develop\cffi.hg>py.test
    ============================= test session starts =============================
    platform win32 -- Python 2.7.3 -- pytest-2.3.0.dev1
    collected 309 items
    
    c/test_c.py .........................F.................................
    

    WinDbg reports the following at the top of the call stack:

    MSVCR90!strlen+0x31
    _ffi_backend!init_ffi_backend+0x1cc3
    _ffi_backend!init_ffi_backend+0x17e0
    _ffi_backend!init_ffi_backend+0xdc5
    python27!PyObject_Call+0x65
    python27!PyEval_GetGlobals+0x13b
    python27!PyEval_GetGlobals+0x9ea
    python27!PyEval_EvalFrameEx+0x36a4
    python27!PyEval_EvalCodeEx+0x7e9
    python27!PyFunction_SetClosure+0xa73
    <snipped>
    

    With nosetests the crash does not occur and all the tests run through, but there are quite a few errors:

    ......E......................................E............F.........EE..EE......E.EFEE..........._cffi_0.c
    _cffi_0.c(135) : warning C4013: 'some_completely_unknown_function' undefined; assuming extern returning int
    _cffi_0.obj : warning LNK4197: export 'init_cffi_0' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_0.lib and object build\temp.win-amd64-2.7\Release\_cffi_0.exp
    _cffi_0.obj : error LNK2019: unresolved external symbol some_completely_unknown_function referenced in function _cffi_f_some_completely_unknown_function
    build\lib.win-amd64-2.7\_cffi_0.pyd : fatal error LNK1120: 1 unresolved externals
    ._cffi_1.c
    _cffi_1.obj : warning LNK4197: export 'init_cffi_1' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_1.lib and object build\temp.win-amd64-2.7\Release\_cffi_1.exp
    ._cffi_2.c
    _cffi_2.c(141) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
    _cffi_2.obj : warning LNK4197: export 'init_cffi_2' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_2.lib and object build\temp.win-amd64-2.7\Release\_cffi_2.exp
    ._cffi_3.c
    _cffi_3.c(136) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
    _cffi_3.obj : warning LNK4197: export 'init_cffi_3' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_3.lib and object build\temp.win-amd64-2.7\Release\_cffi_3.exp
    ._cffi_4.c
    _cffi_4.obj : warning LNK4197: export 'init_cffi_4' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_4.lib and object build\temp.win-amd64-2.7\Release\_cffi_4.exp
    ._cffi_5.c
    _cffi_5.c(141) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
    _cffi_5.obj : warning LNK4197: export 'init_cffi_5' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_5.lib and object build\temp.win-amd64-2.7\Release\_cffi_5.exp
    .._cffi_6.c
    _cffi_6.obj : warning LNK4197: export 'init_cffi_6' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_6.lib and object build\temp.win-amd64-2.7\Release\_cffi_6.exp
    _cffi_7.c
    _cffi_7.obj : warning LNK4197: export 'init_cffi_7' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_7.lib and object build\temp.win-amd64-2.7\Release\_cffi_7.exp
    _cffi_8.c
    _cffi_8.obj : warning LNK4197: export 'init_cffi_8' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_8.lib and object build\temp.win-amd64-2.7\Release\_cffi_8.exp
    _cffi_9.c
    _cffi_9.obj : warning LNK4197: export 'init_cffi_9' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_9.lib and object build\temp.win-amd64-2.7\Release\_cffi_9.exp
    _cffi_10.c
    _cffi_10.obj : warning LNK4197: export 'init_cffi_10' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_10.lib and object build\temp.win-amd64-2.7\Release\_cffi_10.exp
    _cffi_11.c
    _cffi_11.obj : warning LNK4197: export 'init_cffi_11' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_11.lib and object build\temp.win-amd64-2.7\Release\_cffi_11.exp
    _cffi_12.c
    _cffi_12.obj : warning LNK4197: export 'init_cffi_12' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_12.lib and object build\temp.win-amd64-2.7\Release\_cffi_12.exp
    _cffi_13.c
    _cffi_13.obj : warning LNK4197: export 'init_cffi_13' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_13.lib and object build\temp.win-amd64-2.7\Release\_cffi_13.exp
    _cffi_14.c
    _cffi_14.obj : warning LNK4197: export 'init_cffi_14' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_14.lib and object build\temp.win-amd64-2.7\Release\_cffi_14.exp
    _cffi_15.c
    _cffi_15.obj : warning LNK4197: export 'init_cffi_15' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_15.lib and object build\temp.win-amd64-2.7\Release\_cffi_15.exp
    _cffi_16.c
    _cffi_16.c(136) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
    _cffi_16.obj : warning LNK4197: export 'init_cffi_16' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_16.lib and object build\temp.win-amd64-2.7\Release\_cffi_16.exp
    _cffi_17.c
    _cffi_17.obj : warning LNK4197: export 'init_cffi_17' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_17.lib and object build\temp.win-amd64-2.7\Release\_cffi_17.exp
    ._cffi_18.c
    _cffi_18.obj : warning LNK4197: export 'init_cffi_18' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_18.lib and object build\temp.win-amd64-2.7\Release\_cffi_18.exp
    ._cffi_19.c
    _cffi_19.obj : warning LNK4197: export 'init_cffi_19' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_19.lib and object build\temp.win-amd64-2.7\Release\_cffi_19.exp
    ._cffi_20.c
    _cffi_20.obj : warning LNK4197: export 'init_cffi_20' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_20.lib and object build\temp.win-amd64-2.7\Release\_cffi_20.exp
    ._cffi_21.c
    _cffi_21.obj : warning LNK4197: export 'init_cffi_21' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_21.lib and object build\temp.win-amd64-2.7\Release\_cffi_21.exp
    ._cffi_22.c
    _cffi_22.obj : warning LNK4197: export 'init_cffi_22' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_22.lib and object build\temp.win-amd64-2.7\Release\_cffi_22.exp
    ._cffi_23.c
    _cffi_23.obj : warning LNK4197: export 'init_cffi_23' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_23.lib and object build\temp.win-amd64-2.7\Release\_cffi_23.exp
    ._cffi_24.c
    _cffi_24.obj : warning LNK4197: export 'init_cffi_24' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_24.lib and object build\temp.win-amd64-2.7\Release\_cffi_24.exp
    E._cffi_25.c
    _cffi_25.obj : warning LNK4197: export 'init_cffi_25' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_25.lib and object build\temp.win-amd64-2.7\Release\_cffi_25.exp
    _cffi_26.c
    _cffi_26.obj : warning LNK4197: export 'init_cffi_26' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_26.lib and object build\temp.win-amd64-2.7\Release\_cffi_26.exp
    E._cffi_27.c
    _cffi_27.obj : warning LNK4197: export 'init_cffi_27' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_27.lib and object build\temp.win-amd64-2.7\Release\_cffi_27.exp
    ._cffi_28.c
    _cffi_28.obj : warning LNK4197: export 'init_cffi_28' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_28.lib and object build\temp.win-amd64-2.7\Release\_cffi_28.exp
    _cffi_29.c
    _cffi_29.obj : warning LNK4197: export 'init_cffi_29' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_29.lib and object build\temp.win-amd64-2.7\Release\_cffi_29.exp
    _cffi_30.c
    _cffi_30.obj : warning LNK4197: export 'init_cffi_30' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_30.lib and object build\temp.win-amd64-2.7\Release\_cffi_30.exp
    _cffi_31.c
    _cffi_31.obj : warning LNK4197: export 'init_cffi_31' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_31.lib and object build\temp.win-amd64-2.7\Release\_cffi_31.exp
    _cffi_32.c
    _cffi_32.obj : warning LNK4197: export 'init_cffi_32' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_32.lib and object build\temp.win-amd64-2.7\Release\_cffi_32.exp
    _cffi_33.c
    _cffi_33.obj : warning LNK4197: export 'init_cffi_33' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_33.lib and object build\temp.win-amd64-2.7\Release\_cffi_33.exp
    _cffi_34.c
    _cffi_34.obj : warning LNK4197: export 'init_cffi_34' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_34.lib and object build\temp.win-amd64-2.7\Release\_cffi_34.exp
    _cffi_35.c
    _cffi_35.obj : warning LNK4197: export 'init_cffi_35' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_35.lib and object build\temp.win-amd64-2.7\Release\_cffi_35.exp
    _cffi_36.c
    _cffi_36.obj : warning LNK4197: export 'init_cffi_36' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_36.lib and object build\temp.win-amd64-2.7\Release\_cffi_36.exp
    _cffi_37.c
    _cffi_37.obj : warning LNK4197: export 'init_cffi_37' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_37.lib and object build\temp.win-amd64-2.7\Release\_cffi_37.exp
    _cffi_38.c
    _cffi_38.obj : warning LNK4197: export 'init_cffi_38' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_38.lib and object build\temp.win-amd64-2.7\Release\_cffi_38.exp
    _cffi_39.c
    _cffi_39.obj : warning LNK4197: export 'init_cffi_39' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_39.lib and object build\temp.win-amd64-2.7\Release\_cffi_39.exp
    _cffi_40.c
    _cffi_40.obj : warning LNK4197: export 'init_cffi_40' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_40.lib and object build\temp.win-amd64-2.7\Release\_cffi_40.exp
    _cffi_41.c
    _cffi_41.obj : warning LNK4197: export 'init_cffi_41' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_41.lib and object build\temp.win-amd64-2.7\Release\_cffi_41.exp
    _cffi_42.c
    _cffi_42.obj : warning LNK4197: export 'init_cffi_42' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_42.lib and object build\temp.win-amd64-2.7\Release\_cffi_42.exp
    _cffi_43.c
    _cffi_43.obj : warning LNK4197: export 'init_cffi_43' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_43.lib and object build\temp.win-amd64-2.7\Release\_cffi_43.exp
    _cffi_44.c
    _cffi_44.obj : warning LNK4197: export 'init_cffi_44' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_44.lib and object build\temp.win-amd64-2.7\Release\_cffi_44.exp
    _cffi_45.c
    _cffi_45.obj : warning LNK4197: export 'init_cffi_45' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_45.lib and object build\temp.win-amd64-2.7\Release\_cffi_45.exp
    _cffi_46.c
    _cffi_46.obj : warning LNK4197: export 'init_cffi_46' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_46.lib and object build\temp.win-amd64-2.7\Release\_cffi_46.exp
    _cffi_47.c
    _cffi_47.obj : warning LNK4197: export 'init_cffi_47' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_47.lib and object build\temp.win-amd64-2.7\Release\_cffi_47.exp
    _cffi_48.c
    _cffi_48.obj : warning LNK4197: export 'init_cffi_48' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_48.lib and object build\temp.win-amd64-2.7\Release\_cffi_48.exp
    _cffi_49.c
    _cffi_49.obj : warning LNK4197: export 'init_cffi_49' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_49.lib and object build\temp.win-amd64-2.7\Release\_cffi_49.exp
    _cffi_50.c
    _cffi_50.obj : warning LNK4197: export 'init_cffi_50' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_50.lib and object build\temp.win-amd64-2.7\Release\_cffi_50.exp
    _cffi_51.c
    _cffi_51.obj : warning LNK4197: export 'init_cffi_51' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_51.lib and object build\temp.win-amd64-2.7\Release\_cffi_51.exp
    _cffi_52.c
    _cffi_52.obj : warning LNK4197: export 'init_cffi_52' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_52.lib and object build\temp.win-amd64-2.7\Release\_cffi_52.exp
    ._cffi_53.c
    _cffi_53.obj : warning LNK4197: export 'init_cffi_53' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_53.lib and object build\temp.win-amd64-2.7\Release\_cffi_53.exp
    _cffi_54.c
    _cffi_54.c(133) : warning C4133: 'initializing' : incompatible types - from 'double *' to 'float *'
    _cffi_54.obj : warning LNK4197: export 'init_cffi_54' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_54.lib and object build\temp.win-amd64-2.7\Release\_cffi_54.exp
    _cffi_55.c
    _cffi_55.c(133) : warning C4133: 'initializing' : incompatible types - from 'float *' to 'double *'
    _cffi_55.obj : warning LNK4197: export 'init_cffi_55' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_55.lib and object build\temp.win-amd64-2.7\Release\_cffi_55.exp
    _cffi_56.c
    _cffi_56.obj : warning LNK4197: export 'init_cffi_56' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_56.lib and object build\temp.win-amd64-2.7\Release\_cffi_56.exp
    ._cffi_57.c
    _cffi_57.obj : warning LNK4197: export 'init_cffi_57' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_57.lib and object build\temp.win-amd64-2.7\Release\_cffi_57.exp
    _cffi_58.c
    _cffi_58.obj : warning LNK4197: export 'init_cffi_58' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_58.lib and object build\temp.win-amd64-2.7\Release\_cffi_58.exp
    ._cffi_59.c
    _cffi_59.obj : warning LNK4197: export 'init_cffi_59' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_59.lib and object build\temp.win-amd64-2.7\Release\_cffi_59.exp
    E._cffi_60.c
    _cffi_60.c(133) : warning C4048: different array subscripts : 'int (*)[]' and 'int (*)[17]'
    _cffi_60.obj : warning LNK4197: export 'init_cffi_60' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_60.lib and object build\temp.win-amd64-2.7\Release\_cffi_60.exp
    ._cffi_61.c
    _cffi_61.c(135) : warning C4048: different array subscripts : 'int (*)[]' and 'int (*)[17]'
    _cffi_61.obj : warning LNK4197: export 'init_cffi_61' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_61.lib and object build\temp.win-amd64-2.7\Release\_cffi_61.exp
    ._cffi_62.c
    _cffi_62.c(133) : warning C4048: different array subscripts : 'int (*)[]' and 'int (*)[17]'
    _cffi_62.obj : warning LNK4197: export 'init_cffi_62' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_62.lib and object build\temp.win-amd64-2.7\Release\_cffi_62.exp
    ._cffi_63.c
    _cffi_63.c(176) : warning C4308: negative integral constant converted to unsigned type
    _cffi_63.obj : warning LNK4197: export 'init_cffi_63' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_63.lib and object build\temp.win-amd64-2.7\Release\_cffi_63.exp
    ._cffi_64.c
    _cffi_64.obj : warning LNK4197: export 'init_cffi_64' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_64.lib and object build\temp.win-amd64-2.7\Release\_cffi_64.exp
    _cffi_65.c
    _cffi_65.obj : warning LNK4197: export 'init_cffi_65' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_65.lib and object build\temp.win-amd64-2.7\Release\_cffi_65.exp
    _cffi_66.c
    _cffi_66.obj : warning LNK4197: export 'init_cffi_66' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_66.lib and object build\temp.win-amd64-2.7\Release\_cffi_66.exp
    _cffi_67.c
    _cffi_67.obj : warning LNK4197: export 'init_cffi_67' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_67.lib and object build\temp.win-amd64-2.7\Release\_cffi_67.exp
    _cffi_68.c
    _cffi_68.obj : warning LNK4197: export 'init_cffi_68' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_68.lib and object build\temp.win-amd64-2.7\Release\_cffi_68.exp
    _cffi_69.c
    _cffi_69.obj : warning LNK4197: export 'init_cffi_69' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_69.lib and object build\temp.win-amd64-2.7\Release\_cffi_69.exp
    _cffi_70.c
    _cffi_70.obj : warning LNK4197: export 'init_cffi_70' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_70.lib and object build\temp.win-amd64-2.7\Release\_cffi_70.exp
    _cffi_71.c
    _cffi_71.obj : warning LNK4197: export 'init_cffi_71' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_71.lib and object build\temp.win-amd64-2.7\Release\_cffi_71.exp
    _cffi_72.c
    _cffi_72.obj : warning LNK4197: export 'init_cffi_72' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_72.lib and object build\temp.win-amd64-2.7\Release\_cffi_72.exp
    _cffi_73.c
    _cffi_73.obj : warning LNK4197: export 'init_cffi_73' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_73.lib and object build\temp.win-amd64-2.7\Release\_cffi_73.exp
    _cffi_74.c
    _cffi_74.obj : warning LNK4197: export 'init_cffi_74' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_74.lib and object build\temp.win-amd64-2.7\Release\_cffi_74.exp
    _cffi_75.c
    _cffi_75.obj : warning LNK4197: export 'init_cffi_75' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_75.lib and object build\temp.win-amd64-2.7\Release\_cffi_75.exp
    ._cffi_76.c
    _cffi_76.obj : warning LNK4197: export 'init_cffi_76' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_76.lib and object build\temp.win-amd64-2.7\Release\_cffi_76.exp
    ._cffi_77.c
    _cffi_77.obj : warning LNK4197: export 'init_cffi_77' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_77.lib and object build\temp.win-amd64-2.7\Release\_cffi_77.exp
    ._cffi_78.c
    _cffi_78.obj : warning LNK4197: export 'init_cffi_78' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_78.lib and object build\temp.win-amd64-2.7\Release\_cffi_78.exp
    _cffi_79.c
    _cffi_79.c(144) : error C2065: 'EE3' : undeclared identifier
    _cffi_79.c(147) : error C2065: 'EE3' : undeclared identifier
    _cffi_80.c
    _cffi_80.obj : warning LNK4197: export 'init_cffi_80' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_80.lib and object build\temp.win-amd64-2.7\Release\_cffi_80.exp
    _cffi_81.c
    _cffi_81.obj : warning LNK4197: export 'init_cffi_81' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_81.lib and object build\temp.win-amd64-2.7\Release\_cffi_81.exp
    ._cffi_82.c
    _cffi_82.obj : warning LNK4197: export 'init_cffi_82' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_82.lib and object build\temp.win-amd64-2.7\Release\_cffi_82.exp
    ._cffi_83.c
    _cffi_83.obj : warning LNK4197: export 'init_cffi_83' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_83.lib and object build\temp.win-amd64-2.7\Release\_cffi_83.exp
    ._cffi_84.c
    _cffi_84.obj : warning LNK4197: export 'init_cffi_84' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_84.lib and object build\temp.win-amd64-2.7\Release\_cffi_84.exp
    ._cffi_85.c
    _cffi_85.obj : warning LNK4197: export 'init_cffi_85' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_85.lib and object build\temp.win-amd64-2.7\Release\_cffi_85.exp
    ._cffi_86.c
    _cffi_86.obj : warning LNK4197: export 'init_cffi_86' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_86.lib and object build\temp.win-amd64-2.7\Release\_cffi_86.exp
    ._cffi_87.c
    _cffi_87.obj : warning LNK4197: export 'init_cffi_87' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_87.lib and object build\temp.win-amd64-2.7\Release\_cffi_87.exp
    ._cffi_88.c
    _cffi_88.obj : warning LNK4197: export 'init_cffi_88' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_88.lib and object build\temp.win-amd64-2.7\Release\_cffi_88.exp
    .._cffi_89.c
    _cffi_89.obj : warning LNK4197: export 'init_cffi_89' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_89.lib and object build\temp.win-amd64-2.7\Release\_cffi_89.exp
    ._cffi_90.c
    _cffi_90.c(133) : warning C4305: '+=' : truncation from 'double' to 'token_t'
    _cffi_90.obj : warning LNK4197: export 'init_cffi_90' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_90.lib and object build\temp.win-amd64-2.7\Release\_cffi_90.exp
    ._cffi_91.c
    _cffi_91.obj : warning LNK4197: export 'init_cffi_91' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_91.lib and object build\temp.win-amd64-2.7\Release\_cffi_91.exp
    ._cffi_92.c
    _cffi_92.obj : warning LNK4197: export 'init_cffi_92' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_92.lib and object build\temp.win-amd64-2.7\Release\_cffi_92.exp
    ._cffi_93.c
    _cffi_93.obj : warning LNK4197: export 'init_cffi_93' specified multiple times; using first specification
       Creating library build\temp.win-amd64-2.7\Release\_cffi_93.lib and object build\temp.win-amd64-2.7\Release\_cffi_93.exp
    E.
    ======================================================================
    ERROR: testing.test_ctypes.TestCTypes.test_callback_crash
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\backend_tests.py", line 665, in test_callback_crash
        py.test.skip("in-progress")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: in-progress
    
    ======================================================================
    ERROR: testing.test_ctypes.TestCTypes.test_new_struct_containing_array_varsize
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\backend_tests.py", line 964, in test_new_struct_containing_array_varsize
        py.test.skip("later?")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: later?
    
    ======================================================================
    ERROR: test suite for <class 'testing.test_ffi_backend.TestFFI'>
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 208, in run
        self.setUp()
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 291, in setUp
        self.setupContext(ancestor)
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 314, in setupContext
        try_run(context, names)
      File "c:\python27\lib\site-packages-develop\nose.git\nose\util.py", line 478, in try_run
        return func()
    TypeError: unbound method setup_class() must be called with TestFFI instance as first argument (got nothing instead)
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_fputs
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 111, in test_fputs
        py.test.skip("no 'stderr'")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: no 'stderr'
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_function_with_struct_argument
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 242, in test_function_with_struct_argument
        py.test.skip("no 'inet_ntoa'")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: no 'inet_ntoa'
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_function_with_struct_return
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 254, in test_function_with_struct_return
        py.test.skip("this is a GNU C extension")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: this is a GNU C extension
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_sinf
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 45, in test_sinf
        py.test.skip("no 'sinf'")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: no 'sinf'
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_tlsalloc
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 70, in test_tlsalloc
        py.test.skip("ctypes complains on wrong calling conv")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: ctypes complains on wrong calling conv
    
    ======================================================================
    ERROR: testing.test_function.TestFunction.test_write_variable
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 210, in test_write_variable
        py.test.skip("no 'stdout'")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: no 'stdout'
    
    ======================================================================
    ERROR: test suite for <class 'testing.test_ownlib.TestOwnLib'>
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 208, in run
        self.setUp()
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 291, in setUp
        self.setupContext(ancestor)
      File "c:\python27\lib\site-packages-develop\nose.git\nose\suite.py", line 314, in setupContext
        try_run(context, names)
      File "c:\python27\lib\site-packages-develop\nose.git\nose\util.py", line 478, in try_run
        return func()
    TypeError: unbound method setup_class() must be called with TestOwnLib instance as first argument (got nothing instead)
    
    ======================================================================
    ERROR: testing.test_verify.test_verify_typedefs
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_verify.py", line 137, in test_verify_typedefs
        py.test.skip("ignored so far")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: ignored so far
    
    ======================================================================
    ERROR: testing.test_verify.test_ffi_full_struct
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_verify.py", line 162, in test_ffi_full_struct
        py.test.skip("XXX fixme: only gives warnings")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: XXX fixme: only gives warnings
    
    ======================================================================
    ERROR: testing.test_verify.test_struct_float_vs_int
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_verify.py", line 235, in test_struct_float_vs_int
        py.test.skip("XXX fixme: only gives warnings")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: XXX fixme: only gives warnings
    
    ======================================================================
    ERROR: testing.test_verify.test_varargs_exact
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_verify.py", line 513, in test_varargs_exact
        py.test.skip("XXX fixme: only gives warnings")
      File "c:\python27\lib\site-packages-develop\pytest.hg\_pytest\runner.py", line 402, in skip
        raise Skipped(msg=msg)
    Skipped: XXX fixme: only gives warnings
    
    ======================================================================
    FAIL: testing.test_ctypes.TestCTypes.test_sizeof_type
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\backend_tests.py", line 464, in test_sizeof_type
        assert size == expected_size
    AssertionError
    
    ======================================================================
    FAIL: testing.test_function.TestFunction.test_vararg
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "c:\python27\lib\site-packages-develop\nose.git\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "c:\Python27\Lib\site-packages-develop\cffi.hg\testing\test_function.py", line 150, in test_vararg
        "hello " + NIL + "\n")
    AssertionError
    
    ----------------------------------------------------------------------
    Ran 141 tests in 10.794s
    
    FAILED (errors=14, failures=2)
    
  3. Armin Rigo
    • changed status to open

    Thanks for looking at Win64. I have no access to any such machine, so I cannot really be of any help. FWIW, you should try again the trunk version, where the compilation problem occurs in code that was removed anyway. But I doubt that the rest of the issues magically disappeared. (Note that I've never tried to use "nose", so it probably doesn't work --- you need py.test.)

  4. Paul Moore

    I just tried a compile of trunk with a patched distutils as suggested. I got:

    _cffi_backend.obj : error LNK2019: unresolved external symbol PyInt_AsSsize_t referenced in function _cdata_getslicearg
    build\lib.win-amd64-3.3\_cffi_backend.pyd : fatal error LNK1120: 1 unresolved externals
    error: command '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.exe"' failed with exit status 1120
    
  5. Armin Rigo

    So we need to patch distutils to compile the .asm file that comes straight from CPython. Hum. This shows that something is broken in distutils imho. Oh well. If someone wants to contribute a rewrite of win64.asm as a regular C file, like win32.c, he is most welcome.

  6. rotoglup

    FWIW for some reason Microsoft x64 compilers do not provide inline assembler support - that's the why of .asm files - rewriting in .c is probably not possible.

  7. Armin Rigo

    Can we put custom commands in setup.py to compile the .asm? Someone with access to a Win64 developer machine should try. Alternatively, if it's a mess, this person could provide a precompiled "win64.obj" that could be checked in directly.

  8. Matti Picus

    Here is the compiled object. Committing this to the repository seems wrong, why not just provide binaries for those who cannot / will not patch distutils? Built with studio 9. Note that tests still do not pass, test_c.py:979: test_call_function_21 still crashes the interpreter.

  9. Armin Rigo

    Thanks! :-) Checked in, and hacked setup.py. It still works for Win32, but can you check that it works correctly for Win64?

    (edit: to answer your question: it would be cool if "pip install cffi" worked out of the box on win64 too...)

  10. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.