Cython 0.17 beta 4 released - final release candidate

120 views
Skip to first unread message

Stefan Behnel

unread,
Aug 30, 2012, 5:22:19 AM8/30/12
to Cython-devel, Cython-users
Hello everyone,

on behalf of the Cython project team, I'm proud to announce the release of
our fourth beta of Cython 0.17. Unless something truly unforseen happens,
this will become our final release. So please give it another test run
against your code.

Cython 0.17 is another major step forward in the development of the
language that will make life easier for a lot of users, rounds up some
rough edges of the compiler and adds (preliminary) support for CPython 3.3
and PyPy.

Download: http://cython.org/release/Cython-0.17b4.tar.gz

Release notes: http://wiki.cython.org/ReleaseNotes-0.17

Documentation: http://docs.cython.org/


Major features of this release include:

* vastly improved integration with the C++ STL containers

http://docs.cython.org/src/userguide/wrapping_CPlusPlus.html#standard-library

http://docs.cython.org/src/tutorial/strings.html#c-strings

* "yield from" delegation between generators (PEP 380)

http://www.python.org/dev/peps/pep-0380/

* alpha quality support for PyPy (via cpyext)

http://docs.cython.org/src/userguide/pypy.html


Several other features and improvements are listed in the release notes:

http://wiki.cython.org/ReleaseNotes-0.17


Have fun,

Stefan

Czarek Tomczak

unread,
Aug 30, 2012, 9:35:40 AM8/30/12
to cython...@googlegroups.com, Cython-devel, stef...@behnel.de
Still getting error when compiling using Python 3.2, seems like a typo in path to python.lib file, I've reported it earlier for the beta 3 release:
https://groups.google.com/forum/?fromgroups=#!topic/cython-users/Tutevv3cSVc 

C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:./ "/LIBPATH:c:/Progr
am Files/Microsoft SDKs/Windows/v7.1/Lib/" /LIBPATH:./../httpauth/Release/ /LIBPATH:./../v8functionhandler/Release/ /LIB
PATH:./../clienthandler/Release/ /LIBPATH:d:\python32\libs /LIBPATH:d:\python32\PCbuild libcef.lib libcef_dll_wrapper.li
b User32.lib httpauth.lib v8functionhandler.lib clienthandler.lib /EXPORT:PyInit_cefpython build\temp.win32-3.2\Release\
cefpython.obj /OUT:D:\cefpython\src\setup\cefpython.pyd /IMPLIB:build\temp.win32-3.2\Release\cefpython.lib /MANIFESTFILE
:build\temp.win32-3.2\Release\cefpython.pyd.manifest /NODEFAULTLIB:libcmt /NODEFAULTLIB:msvcprt /ignore:4217
LINK : fatal error LNK1104: cannot open file 'python27.lib'

Cheers,
Czarek.

Stefan Behnel

unread,
Aug 30, 2012, 9:41:52 AM8/30/12
to cython...@googlegroups.com
Czarek Tomczak, 30.08.2012 15:35:
>> *LINK : fatal error LNK1104: cannot open file 'python27.lib'*

Ah, ok, I had assumed that this was a bug in your setup.py (or an otherwise
broken build configuration on your side).

Is the setup.py file available somewhere?

Stefan

Czarek Tomczak

unread,
Aug 30, 2012, 10:00:25 AM8/30/12
to cython...@googlegroups.com, stef...@behnel.de
It is cefpython project I'm compiling, setup.py is here:


It worked fine using Cython 0.16 & Python 3.2 so I don't think this is a bug in my setup.

Czarek.

Czarek Tomczak

unread,
Aug 30, 2012, 10:13:04 AM8/30/12
to cython...@googlegroups.com, stef...@behnel.de
Okay, don't bother this is most probably bug in clienthandler.lib that I'm including, as I've just found "python27" references inside that .lib file:
/DEFAULTLIB:"python27.lib"
And some others.

Czarek.

Czarek Tomczak

unread,
Aug 30, 2012, 11:28:31 AM8/30/12
to cython...@googlegroups.com, Cython-devel, stef...@behnel.de
This time I have a real bug, read on..

I've created a separate VS project for my clienthandler.cpp so that it now creates 2 different libs - one for Python 2.7 and the other for Python 3.2, and I've come into the same problem I've reported earlier for the beta 3 release:

d:\cefpython\src\setup/cefpython.h(15) : error C3646: 'RequestHandler_OnBeforeBrowse' : unknown override specifier
d:\cefpython\src\setup/cefpython.h(15) : error C2091: function returns function
d:\cefpython\src\setup/cefpython.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

These errors happen when you include "modulename.h" - the file that is generated by Cython, for functions that have "public" declaration.

Functions in this file are declared this way:

__PYX_EXTERN_C DL_IMPORT(bool) RequestHandler_OnBeforeBrowse(CefRefPtr<CefBrowser>, CefRefPtr<CefFrame>, CefRefPtr<CefRequest>, enum cef_handler_navtype_t, bool);

These errors about "unknown override specifier" are happening because:

DL_IMPORT is not defined in Python 3.2 sources.

In Python 2.7 in Python.h you have:

#ifndef DL_IMPORT /* declarations for DLL import/export */
#define DL_IMPORT(RTYPE) RTYPE
#endif
#ifndef DL_EXPORT /* declarations for DLL import/export */
#define DL_EXPORT(RTYPE) RTYPE
#endif

But in Python 3.2 there are no such defines.

The solution would be to add the definitions above to the "modulename.h".

Cheers,
Czarek
Reply all
Reply to author
Forward
0 new messages