2012/4/24 Stefan Behnel <stefan...@behnel.de>: > Stefan Behnel, 23.04.2012 20:28: >> Nathan Dunfield, 23.04.2012 17:58: >>> I've encountered the following issue with Cython 0.16 on Windows with >>> using the Mingw32 compiler (I'm using Python 3.2 here, but I don't think >>> that's the issue): >>> >>> $ python3 setup.py build -c mingw32 >>> running build >>> running build_py >>> running build_ext >>> skipping 'SnapPy.c' Cython extension (up-to-date) >>> building 'snappy.SnapPy' extension >>> c:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Iheaders -Iunix_kit >>> -Iaddl_code -I. -Ipari/pari-2.3.4/include/ -Ipari/pari-2.3.4/include/pari >>> -Ic:\Python32\include -Ic:\Python32\PC -c SnapPy.c -o >>> build\temp.win32-3.2\Release\snappy.o >>> SnapPy.c: In function >>> `__pyx_f_6snappy_6SnapPy_13Triangulation_build_rep_into_Sn': >>> SnapPy.c:25187: warning: implicit declaration of function >>> `fg_get_num_orig_gens' >>> SnapPy.c:25423: warning: implicit declaration of function >>> `candidateSn_is_valid' >>> SnapPy.c:25435: warning: implicit declaration of function >>> `candidateSn_is_transitive' >>> SnapPy.c: At top level: >>> SnapPy.c:76434: error: initializer element is not constant >>> SnapPy.c:76434: error: (near initialization for >>> `__pyx_CyFunctionType_type.tp_call') >>> error: command 'gcc' failed with exit status 1 >> >> Hmm, that line basically just says "PyCFunction_Call", which is a function >> exported by CPython. I wonder why gcc would consider this "not a constant". > > My guess is that it's a Windows-DLL issue. Maybe symbols exported by > Windows-DLLs simply aren't "constant". We should be able to fix this by > indirecting the slot through a static function. >
We can also fill it later at type initialization. But since we already have #define __Pyx_CyFunction_Call PyCFunction_Call and PyPy version of __Pyx_CyFunction_Call I think it's better to replace define with static function you mentioned above. -- vitja. _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel