Opened 6 years ago

Closed 6 years ago

#17657 closed enhancement (fixed)

Upgrade to Cython 0.22

Reported by: jdemeyer Owned by:
Priority: major Milestone: sage-6.5
Component: packages: standard Keywords:
Cc: robertwb, fbissey Merged in:
Authors: Jeroen Demeyer Reviewers: Robert Bradshaw
Report Upstream: N/A Work issues:
Branch: c4a9d24 (Commits) Commit: c4a9d24f22cdb833b9a98748008482ae517ef270
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

Easy upgrade.

Note that the extension sage.tests.parallel needs to be removed, since the corresponding source file never existed (for some reason, this was not an error before). It was added by mistake for testing a particular ticket.

upstream: http://boxen.math.washington.edu/home/jdemeyer/spkg/cython-0.22.tar.bz2

Change History (20)

comment:1 Changed 6 years ago by jdemeyer

  • Authors set to Jeroen Demeyer

comment:2 Changed 6 years ago by jdemeyer

  • Branch set to u/jdemeyer/ticket/17657
  • Created changed from 01/22/15 08:11:04 to 01/22/15 08:11:04
  • Modified changed from 01/22/15 08:24:45 to 01/22/15 08:24:45

comment:3 Changed 6 years ago by jdemeyer

  • Commit set to 821815a19ffbceac2c100520cf2dabd3953e8022
  • Description modified (diff)

New commits:

821815aUpgrade to Cython 0.22

comment:4 Changed 6 years ago by fbissey

  • Cc fbissey added

comment:5 Changed 6 years ago by vdelecroix

#17661 already removes the sage.tests.parallel

comment:6 follow-up: Changed 6 years ago by vdelecroix

  • Status changed from new to needs_info

The 0.22 Cython version is a beta release? Do you really want to ship that in Sage? The release cycle between the first beta and the stable version seems to be short in Cython (max 1 month). Don't you want to wait for it?

Vincent

comment:7 in reply to: ↑ 6 ; follow-up: Changed 6 years ago by jdemeyer

  • Summary changed from Upgrade to Cython 0.22 to Upgrade to Cython 0.22 after it is released

It makes a lot of sense to create a ticket now and test the beta version to give feedback to Cython upstream.

Note that the ticket title isn't "Upgrade to Cython 0.22.beta0", that the status wasn't "needs_review" and that I didn't even post a tarball link...

comment:8 in reply to: ↑ 7 Changed 6 years ago by vdelecroix

Replying to jdemeyer:

It makes a lot of sense to create a ticket now and test the beta version to give feedback to Cython upstream.

True!

Note that the ticket title isn't "Upgrade to Cython 0.22.beta0", that the status wasn't "needs_review" and that I didn't even post a tarball link...

I was wondering because you need to update with respect to some tarball (sha1sum for example). Sorry for my misunderstanding.

Vincent

comment:9 Changed 6 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from Upgrade to Cython 0.22 after it is released to Upgrade to Cython 0.22

comment:10 Changed 6 years ago by git

  • Commit changed from 821815a19ffbceac2c100520cf2dabd3953e8022 to c4a9d24f22cdb833b9a98748008482ae517ef270

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

c4a9d24Upgrade to Cython 0.22

comment:11 follow-up: Changed 6 years ago by robertwb

  • Status changed from needs_info to needs_work

One tiny nit: declare PySlice_Check as taking an object, not a PyObject*.

comment:12 in reply to: ↑ 11 Changed 6 years ago by jdemeyer

Replying to robertwb:

One tiny nit: declare PySlice_Check as taking an object, not a PyObject*.

I am replacing

cdef extern from "Python.h":
    bint PySlice_Check(PyObject* ob)

...PySlice_Check(<PyObject *>row_index)...

by

...isinstance(row_index, slice)...

Why is that a problem?

comment:13 Changed 6 years ago by jdemeyer

  • Status changed from needs_work to needs_review

comment:14 Changed 6 years ago by robertwb

  • Status changed from needs_review to positive_review

Bah, got my red and green mixed up. Yes, that's good.

comment:15 Changed 6 years ago by vdelecroix

  • Reviewers set to ​Robert Bradshaw

comment:16 Changed 6 years ago by vbraun

  • Reviewers changed from ​Robert Bradshaw to Robert Bradshaw

comment:17 follow-up: Changed 6 years ago by vbraun

btw this breaks upgrading, if you don't manually run sage -ba then compilation fails because not all cython files are regenerated.

build/cythonized/sage/algebras/letterplace/letterplace_ideal.cpp: In function 'void* __pyx_f_4sage_3ext_6memory_check_allocarray(size_t, size_t)':
build/cythonized/sage/algebras/letterplace/letterplace_ideal.cpp:5507:60: error: 'mul_overflowcheck' was not declared in this scope
   __pyx_v_n = mul_overflowcheck(__pyx_v_nmemb, __pyx_v_size);

The cython version should probably also be considered in sage -b. If you want to work on that do it in a separate ticktet, this is already merged.

comment:18 in reply to: ↑ 17 Changed 6 years ago by jdemeyer

Replying to vbraun:

btw this breaks upgrading, if you don't manually run sage -ba then compilation fails because not all cython files are regenerated.

It's unrelated to this ticket, it's a bug in build/deps: the csage target does not state the c_lib sources as dependency. This causes make to skip csage, even though ./sage -b should work.

The error you see comes from the c_lib change in #10257. I guess you compiled with #10257 applied, then undid #10257.

comment:19 Changed 6 years ago by jdemeyer

I created #17794 for this.

comment:20 Changed 6 years ago by vbraun

  • Branch changed from u/jdemeyer/ticket/17657 to c4a9d24f22cdb833b9a98748008482ae517ef270
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.