Open sublee opened 10 years ago
+1 Yappi needs to be upgraded, or this doesn't install on Python 3.4
Upgrading will also hopefully bring in the new set_context_id_callback
and set_context_name_callback
functions which allow further integration with profiling greenlets.
Seeing this error on Ubuntu 16.10 with Python 3.5.2:
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DLIB_RT_AVAILABLE=1 -I_vendorized_yappi -I/usr/include/python3.5m -I/home/user/workspace/perfpie/boilerplate/.pyenv/include/python3.5m -c _vendorized_yappi/_yappi.c -o build/temp.linux-x86_64-3.5/_vendorized_yappi/_yappi.o
_vendorized_yappi/_yappi.c: In function ‘_call_context_name_callback’:
_vendorized_yappi/_yappi.c:199:14: warning: implicit declaration of function ‘PyString_Check’ [-Wimplicit-function-declaration]
if (!PyString_Check(callback_rc)) {
^
_vendorized_yappi/_yappi.c: In function ‘_yapp_callback’:
_vendorized_yappi/_yappi.c:737:36: error: ‘PyFrameObject {aka struct _frame}’ has no member named ‘f_tstate’
current_ctx = _thread2ctx(frame->f_tstate);
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Seeing this on OSX 10 with Python 3.6.1, probably related to the same outdated yappi:
building '_GreenletProfiler_yappi' extension
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I_vendorized_yappi -I/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c _vendorized_yappi/_yappi.c -o build/temp.macosx-10.10-x86_64-3.6/_vendorized_yappi/_yappi.o
_vendorized_yappi/_yappi.c:199:14: warning: implicit declaration of function 'PyString_Check' is invalid in C99 [-Wimplicit-function-declaration]
if (!PyString_Check(callback_rc)) {
^
_vendorized_yappi/_yappi.c:199:14: warning: this function declaration is not a prototype [-Wstrict-prototypes]
_vendorized_yappi/_yappi.c:737:38: error: no member named 'f_tstate' in 'struct _frame'
current_ctx = _thread2ctx(frame->f_tstate);
If the maintainer is abandoning the project, could we at least get a diff of the changes made to the vendorized Yappi so we can try to update it with the required changes?
The latest version of Yappi is 0.92 but the Yappi vendorized to GreenletProfiler seems to be 0.82. It should be upgraded also.