[yoda-svn] yoda: Fix for Cython 0.24 issue

YODA Mercurial yoda at projects.hepforge.org
Fri Sep 30 13:45:02 BST 2016


details:   https://yoda.hepforge.org/hg/yoda/rev/6c8e5c8d8fd4
branches:  release-1-6
changeset: 1310:6c8e5c8d8fd4
user:      David Grellscheid <david.grellscheid at durham.ac.uk>
date:      Fri Sep 30 13:40:59 2016 +0100
description:
Fix for Cython 0.24 issue

Work around an unresolved Cython problem by not propagating
exceptions from C++ operatorX() functions into the python runtime.

See https://github.com/cython/cython/issues/1465

diffs (truncated from 136 to 50 lines):

--- a/configure.ac	Wed Sep 28 16:01:31 2016 +0100
+++ b/configure.ac	Fri Sep 30 13:40:59 2016 +0100
@@ -130,30 +130,15 @@
 if test x$enable_pyext == xyes; then
   AM_CHECK_CYTHON([0.23.5], [:], [:])
   if test x$CYTHON_FOUND = xyes; then
-    AS_VERSION_COMPARE([$CYTHON_VERSION], [0.24],
-          [AC_MSG_NOTICE([Cython >= 0.23.5 found: Python extension source can be rebuilt (for developers)])],
-          [AC_MSG_NOTICE([
-**************************************************
-Cython 0.24.x does not work for non-tarball builds
-  (https://github.com/cython/cython/issues/1465)
 
-You can install a personal copy of Cython with
-  pip install --user cython==0.23.5
-**************************************************]); CYTHON_FOUND="no"],
-          [AC_MSG_NOTICE([
-**************************************************
-Cython 0.24.x does not work for non-tarball builds
-  (https://github.com/cython/cython/issues/1465)
+    AC_MSG_NOTICE([Cython >= 0.23.5 found: Python extension source can be rebuilt (for developers)])
 
-You can install a personal copy of Cython with
-  pip install --user cython==0.23.5
-**************************************************]); CYTHON_FOUND="no"])
   fi
 
   AC_CHECK_FILE([pyext/yoda/core.cpp],
                 [],
                 [if test "x$CYTHON_FOUND" != "xyes"; then
-                  AC_MSG_ERROR([Cython is required for --enable-pyext.])
+                  AC_MSG_ERROR([Cython is required for --enable-pyext, no pre-built core.cpp was found.])
                 fi])
 
   ## Set extra Python extension build flags (to cope with Cython output code oddities)
--- a/pyext/yoda/declarations.pxd	Wed Sep 28 16:01:31 2016 +0100
+++ b/pyext/yoda/declarations.pxd	Fri Sep 30 13:40:59 2016 +0100
@@ -52,8 +52,8 @@
         double errW() except +yodaerr
         double relErrW() except +yodaerr
 
-        Dbn0D operator+ (Dbn0D) except +yodaerr
-        Dbn0D operator- (Dbn0D) except +yodaerr
+        Dbn0D operator+ (Dbn0D)
+        Dbn0D operator- (Dbn0D)
         # TODO: += and -= operators
 
 #}}} Dbn0D
@@ -87,8 +87,8 @@
         double sumWX() except +yodaerr


More information about the yoda-svn mailing list