batch_jaro_winkler icon indicating copy to clipboard operation
batch_jaro_winkler copied to clipboard

Windows 10 compability issues

Open nkaenzig opened this issue 3 years ago • 12 comments

On Linux Ubuntu the module works perfectly, however when trying to install it on a windows 10 machine with anaconda (python 3.8.5), I get a C compiler error:


cbatch_jaro_winkler.c:219:12: error: enumerator value for '__pyx_check_sizeof_voidp' is not an integer constant
         enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };

I installed the GCC compiler suite on windows using MinGW, following these instructions: https://cython.readthedocs.io/en/latest/src/tutorial/appendix.html

Do you have an idea how we could achieve compability for windows?

Here is the full output i currently get on pip install:


(testenv) C:\Users\nkaen>pip install batch-jaro-winkler
Collecting batch-jaro-winkler
  Using cached batch_jaro_winkler-0.1.0.tar.gz (84 kB)
Building wheels for collected packages: batch-jaro-winkler
  Building wheel for batch-jaro-winkler (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\nkaen\Anaconda3\envs\testenv\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"'; __file__='"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\nkaen\AppData\Local\Temp\pip-wheel-ed4u3b2i'
       cwd: C:\Users\nkaen\AppData\Local\Temp\pip-install-d5lfqbth\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\
  Complete output (38 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'batch_jaro_winkler' extension
  creating build
  creating build\temp.win-amd64-3.8
  creating build\temp.win-amd64-3.8\Release
  creating build\temp.win-amd64-3.8\Release\ext
  C:\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -IC:\Users\nkaen\Anaconda3\envs\testenv\include -IC:\Users\nkaen\Anaconda3\envs\testenv\include -c cbatch_jaro_winkler.c -o build\temp.win-amd64-3.8\Release\cbatch_jaro_winkler.o
  In file included from C:\Users\nkaen\Anaconda3\envs\testenv\include/Python.h:85:0,
                   from cbatch_jaro_winkler.c:22:
  C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:123:59: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
   PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv);
                                                             ^~~~~~~
  C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:130:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
       struct timeval *tv,
              ^~~~~~~
  C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:135:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
       struct timeval *tv,
              ^~~~~~~
  cbatch_jaro_winkler.c:219:41: warning: division by zero [-Wdiv-by-zero]
       enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
                                           ^
  cbatch_jaro_winkler.c:219:12: error: enumerator value for '__pyx_check_sizeof_voidp' is not an integer constant
       enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
              ^~~~~~~~~~~~~~~~~~~~~~~~
  cbatch_jaro_winkler.c: In function '__Pyx_modinit_type_init_code':
  cbatch_jaro_winkler.c:5233:3: warning: 'tp_print' is deprecated [-Wdeprecated-declarations]
     __pyx_type_18batch_jaro_winkler_RuntimeModel.tp_print = 0;
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from C:\Users\nkaen\Anaconda3\envs\testenv\include/object.h:746:0,
                   from C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:6,
                   from C:\Users\nkaen\Anaconda3\envs\testenv\include/Python.h:85,
                   from cbatch_jaro_winkler.c:22:
  C:\Users\nkaen\Anaconda3\envs\testenv\include/cpython/object.h:260:30: note: declared here
       Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
                                ^~~~~~~~
  error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for batch-jaro-winkler
  Running setup.py clean for batch-jaro-winkler
Failed to build batch-jaro-winkler
Installing collected packages: batch-jaro-winkler
    Running setup.py install for batch-jaro-winkler ... error
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\nkaen\Anaconda3\envs\testenv\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"'; __file__='"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\nkaen\AppData\Local\Temp\pip-record-jc27xax2\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\nkaen\Anaconda3\envs\testenv\Include\batch-jaro-winkler'
         cwd: C:\Users\nkaen\AppData\Local\Temp\pip-install-d5lfqbth\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\
    Complete output (38 lines):
    running install
    running build
    running build_ext
    building 'batch_jaro_winkler' extension
    creating build
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\ext
    C:\MinGW\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -IC:\Users\nkaen\Anaconda3\envs\testenv\include -IC:\Users\nkaen\Anaconda3\envs\testenv\include -c cbatch_jaro_winkler.c -o build\temp.win-amd64-3.8\Release\cbatch_jaro_winkler.o
    In file included from C:\Users\nkaen\Anaconda3\envs\testenv\include/Python.h:85:0,
                     from cbatch_jaro_winkler.c:22:
    C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:123:59: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
     PyAPI_FUNC(int) _PyTime_FromTimeval(_PyTime_t *tp, struct timeval *tv);
                                                               ^~~~~~~
    C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:130:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
         struct timeval *tv,
                ^~~~~~~
    C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:135:12: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
         struct timeval *tv,
                ^~~~~~~
    cbatch_jaro_winkler.c:219:41: warning: division by zero [-Wdiv-by-zero]
         enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
                                             ^
    cbatch_jaro_winkler.c:219:12: error: enumerator value for '__pyx_check_sizeof_voidp' is not an integer constant
         enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
                ^~~~~~~~~~~~~~~~~~~~~~~~
    cbatch_jaro_winkler.c: In function '__Pyx_modinit_type_init_code':
    cbatch_jaro_winkler.c:5233:3: warning: 'tp_print' is deprecated [-Wdeprecated-declarations]
       __pyx_type_18batch_jaro_winkler_RuntimeModel.tp_print = 0;
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from C:\Users\nkaen\Anaconda3\envs\testenv\include/object.h:746:0,
                     from C:\Users\nkaen\Anaconda3\envs\testenv\include/pytime.h:6,
                     from C:\Users\nkaen\Anaconda3\envs\testenv\include/Python.h:85,
                     from cbatch_jaro_winkler.c:22:
    C:\Users\nkaen\Anaconda3\envs\testenv\include/cpython/object.h:260:30: note: declared here
         Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
                                  ^~~~~~~~
    error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\nkaen\Anaconda3\envs\testenv\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"'; __file__='"'"'C:\\Users\\nkaen\\AppData\\Local\\Temp\\pip-install-d5lfqbth\\batch-jaro-winkler_d3702fa170ec43b7bb7f25c5153232f3\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\nkaen\AppData\Local\Temp\pip-record-jc27xax2\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\nkaen\Anaconda3\envs\testenv\Include\batch-jaro-winkler' Check the logs for full command output.

nkaenzig avatar Jan 19 '21 14:01 nkaenzig