[Cython] build failure on windows with 0.21b2 windows py27 x64
Hello Stefan, the Problem reported by Ian Bell on v0.21b1 seems still to be there. With v0.21a1 from https://github.com/cython/cython/releases/tag/0.21a1 everything seems to be fine. So maybe it's related to the method call optimisations, you've mentioned. I've also tested with windows+py27+x64 and I get the same errors; configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42437) : error C2146: syntax error : missing ')' before identifier 'ifdef' configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42439) : error C2059: syntax error : 'else' configobj.c(42449) : error C2059: syntax error : '}' configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe"' failed with exit status 2 I've cythonized the following Code: http://bpaste.net/show/a10f8b244c2d with a setup.py like: - import sys from setuptools import setup from setuptools.extension import Extension from Cython.Distutils import build_ext extensions = [Extension("configobj", ["configobj.py"])] setup_info = dict(ext_modules=extensions, cmdclass={'build_ext': build_ext}) sys.argv.extend(["build_ext", "-i"]) setup(**setup_info) --dirk ___ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel
Re: [Cython] build failure on windows with 0.21b2 windows py27 x64
On Mon, 01 Sep 2014 12:14:58 +0200, Stefan Behnel wrote: Dirk Rothe schrieb am 01.09.2014 um 09:55: the Problem reported by Ian Bell on v0.21b1 seems still to be there. With v0.21a1 from https://github.com/cython/cython/releases/tag/0.21a1 everything seems to be fine. So maybe it's related to the method call optimisations, you've mentioned. I've also tested with windows+py27+x64 and I get the same errors; configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42437) : error C2146: syntax error : missing ')' before identifier 'ifdef' configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42439) : error C2059: syntax error : 'else' configobj.c(42449) : error C2059: syntax error : '}' configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe"' failed with exit status 2 Could you copy lines 42430-42463 (i.e. the error lines plus a bit of preceding context) from the generated C file and send them to me? (Please make sure it's clear which lines are the offending ones.) Here we go, I have annotated the start/end with line numbers: #if CYTHON_COMPILING_IN_CPYTHON ## Line 42431 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { if (likely(PyCFunction_Check(func) #ifdef __Pyx_CyFunction_USED || PyObject_TypeCheck(func, __pyx_CyFunctionType) #endif ) && likely(PyCFunction_GET_FLAGS(func) & METH_O)) { return __Pyx_PyObject_CallMethO(func, arg); } else { PyObject *result; PyObject *args = PyTuple_New(1); if (unlikely(!args)) return NULL; Py_INCREF(arg); PyTuple_SET_ITEM(args, 0, arg); result = __Pyx_PyObject_Call(func, args, NULL); Py_DECREF(args); return result; } } #else static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { PyObject* args = PyTuple_Pack(1, arg); return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL; } #endif ## Line 42455 #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { if (likely(PyCFunction_Check(func) #ifdef __Pyx_CyFunction_USED || PyObject_TypeCheck(func, __pyx_CyFunctionType) #endif ) && likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { return __Pyx_PyObject_CallMethO(func, NULL); } else { return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); } } #endif ## Line 42469 --dirkse ___ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel
Re: [Cython] build failure on windows with 0.21b2 windows py27 x64
On Fri, 05 Sep 2014 20:47:47 +0200, Stefan Behnel wrote: Dirk Rothe schrieb am 01.09.2014 um 12:25: I've also tested with windows+py27+x64 and I get the same errors; configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42437) : error C2146: syntax error : missing ')' before identifier 'ifdef' configobj.c(42437) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42439) : error C2059: syntax error : 'else' configobj.c(42449) : error C2059: syntax error : '}' configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion configobj.c(42463) : error C2121: '#' : invalid character : possibly the result of a macro expansion error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe"' failed with exit status 2 Here we go, I have annotated the start/end with line numbers: #if CYTHON_COMPILING_IN_CPYTHON ## Line 42431 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { if (likely(PyCFunction_Check(func) #ifdef __Pyx_CyFunction_USED || PyObject_TypeCheck(func, __pyx_CyFunctionType) #endif ) && likely(PyCFunction_GET_FLAGS(func) & METH_O)) { return __Pyx_PyObject_CallMethO(func, arg); } else { PyObject *result; PyObject *args = PyTuple_New(1); if (unlikely(!args)) return NULL; [...] Thanks. My guess is that the macro nesting is a bit too heavy for MSVC here. I pushed a change to the master branch that simplifies it. Could you give it another try? https://github.com/cython/cython/commit/2a1f74aac867fee81e2ddf073f16519f3f454bac Thanks Stefan! The latest Trunk works fine for me now. --dirk ___ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel
Re: [Cython] Publish Windows wheels to PyPI
On Sun, 27 Sep 2015 21:30:21 +0200, Mirth Hickford wrote: Hi Cython. Please consider publishing wheels for Windows to PyPI [1]. Wheels [2] are a package format that installs more reliably than source distributions, especially on Windows. Meanwhile a workaround is to download wheels from Christoph Gohlke's site [3] a godsend. Yeah, he's awesome. Excellent work for at least 10 years now. Thanks! Cython is awesome too, btw ;) -M [1] https://pypi.python.org/pypi/Cython/ [2] http://pythonwheels.com/ [3] http://www.lfd.uci.edu/~gohlke/pythonlibs/#cython ___ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel