Opened 4 years ago

Closed 4 years ago

#21900 closed defect (fixed)

Update backports_abc to version 0.5

Reported by: slabbe Owned by:
Priority: major Milestone: sage-7.5
Component: packages: standard Keywords:
Cc: Merged in:
Authors: Sébastien Labbé Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: 8b0e122 (Commits) Commit: 8b0e1224c12b63cac75bf29cc8461b78c73b0534
Dependencies: Stopgaps:

Description (last modified by slabbe)

Tarball: https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8/backports_abc-0.5.tar.gz

I am trying to build vaucanson in sage and I get the following problem with Cython 0.25.1 merged in 7.5.beta1 (#20596). That problem does not appear with Cython 0.24. But the problem is really in backport_abc package not in Cython.

(sage-sh) slabbe@MacBookebastien:build$ make python
[ 20%] Linking CXX shared library libvaucrdyn.dylib
[ 40%] Built target vaucrdyn
Scanning dependencies of target python
[ 60%] Forcing python library compilation
[ 80%] Generating Python module
Traceback (most recent call last):
  File "setup.py", line 41, in <module>
    ext_modules =  cythonize(cython_module),
  File "/Users/slabbe/Applications/sage-git/local/lib/python2.7/site-packages/Cython/Build/Dependencies
.py", line 809, in cythonize
    aliases=aliases)
  File "/Users/slabbe/Applications/sage-git/local/lib/python2.7/site-packages/Cython/Build/Dependencies
.py", line 648, in create_extension_list
    elif isinstance(patterns, basestring) or not isinstance(patterns, collections.Iterable):
  File "/Users/slabbe/Applications/sage-git/local/lib/python/abc.py", line 144, in __instancecheck__
    return cls.__subclasscheck__(subtype)
  File "/Users/slabbe/Applications/sage-git/local/lib/python/abc.py", line 180, in __subclasscheck__
    if issubclass(subclass, scls):
  File "/Users/slabbe/Applications/sage-git/local/lib/python/abc.py", line 180, in __subclasscheck__
    if issubclass(subclass, scls):
  File "/Users/slabbe/Applications/sage-git/local/lib/python/abc.py", line 161, in __subclasscheck__
    ok = cls.__subclasshook__(subclass)
  File "/Users/slabbe/Applications/sage-git/local/lib/python2.7/site-packages/backports_abc.py", line 6
6, in __subclasshook__
    mro = C.__mro__
AttributeError: class Extension has no attribute '__mro__'
make[3]: *** [python/vaucrpy.so] Error 1
make[2]: *** [python/CMakeFiles/python.dir/all] Error 2
make[1]: *** [python/CMakeFiles/python.dir/rule] Error 2
make: *** [python] Error 2

This seems to have been fixed a few days ago: https://github.com/cython/backports_abc/commit/94294718c6293d1031228943590dc12fe772fa9b which have been released as version 0.5

Change History (19)

comment:1 Changed 4 years ago by slabbe

  • Description modified (diff)

comment:2 follow-up: Changed 4 years ago by jdemeyer

  • Milestone changed from sage-7.5 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

How is this related to Sage?

comment:3 Changed 4 years ago by jdemeyer

  • Description modified (diff)

comment:4 in reply to: ↑ 2 ; follow-up: Changed 4 years ago by slabbe

Replying to jdemeyer:

How is this related to Sage?

I would like to make vaucanson as an optional Sage package.

Question: I am trying to find a workaround. I was thinking to add a patch on Cython-0.25.1. But where is the file backports_abc.py ? It does not seem to be inside of Cython-0.25.1 ?

comment:5 in reply to: ↑ 4 Changed 4 years ago by slabbe

Ok, now I see. The solution to this ticket to update Sage standard package backports_abc from version 0.4 to 0.5.

https://pypi.python.org/pypi/backports_abc

Jeroen, if you agree, I will change the title of this ticket to "update backports_abc to 0.5" and I suggest to not close this ticket as "won't fix".

comment:6 Changed 4 years ago by slabbe

  • Branch set to u/slabbe/21900
  • Commit set to 7f32147741c4c20281ae67acd2eb73d2879e0b52
  • Component changed from cython to packages: standard
  • Description modified (diff)
  • Milestone changed from sage-duplicate/invalid/wontfix to sage-7.6
  • Summary changed from AttributeError: class Extension has no attribute '__mro__' to Update backports_abc to version 0.5

New commits:

7f3214721900: Updating backports_abc pkg to v0.5

comment:7 Changed 4 years ago by slabbe

  • Authors set to Sébastien Labbé

comment:8 Changed 4 years ago by slabbe

  • Milestone changed from sage-7.6 to sage-7.5

comment:9 follow-ups: Changed 4 years ago by jdemeyer

  • Status changed from needs_review to needs_info

Why the .p0 in the version number?

comment:10 Changed 4 years ago by jdemeyer

Where is the new package?

comment:11 Changed 4 years ago by git

  • Commit changed from 7f32147741c4c20281ae67acd2eb73d2879e0b52 to e5d62ea7f08038b550c733027785f5b90c633667

Branch pushed to git repo; I updated commit sha1. New commits:

e5d62ea21900: package version 0.5.p0 -> 0.5

comment:12 Changed 4 years ago by slabbe

  • Description modified (diff)
  • Report Upstream changed from Fixed upstream, in a later stable release. to N/A

comment:13 in reply to: ↑ 9 Changed 4 years ago by slabbe

  • Status changed from needs_info to needs_review

Replying to jdemeyer:

Why the .p0 in the version number?

For the same reason as there was a .p0 in the version number for 0.4 without any patches to apply. So I removed the .p0 to be consistent with the fact that there is no patches to apply.

I also added a link to the tarball available on pypi in the first line of description of this ticket.

Needs review.

comment:14 Changed 4 years ago by git

  • Commit changed from e5d62ea7f08038b550c733027785f5b90c633667 to 8b0e1224c12b63cac75bf29cc8461b78c73b0534

Branch pushed to git repo; I updated commit sha1. New commits:

8b0e12221900: Update backports_abc to 0.5

comment:15 Changed 4 years ago by slabbe

I folded the two commits into one.

comment:16 in reply to: ↑ 9 ; follow-up: Changed 4 years ago by slabbe

Replying to jdemeyer:

Why the .p0 in the version number?

Maybe you know the answer more than me:

$ git show 783cd7d build/pkgs/backports_abc
commit 783cd7d541970012f037de0364df099312d2624a
Author: Jeroen Demeyer <jdemeyer@cage.ugent.be>
Date:   Tue Sep 20 10:37:56 2016 +0200

    Re-install all pip-installed packages

diff --git a/build/pkgs/backports_abc/package-version.txt b/build/pkgs/backports_abc/package-version.txt
index bd73f47..fba722f 100644
--- a/build/pkgs/backports_abc/package-version.txt
+++ b/build/pkgs/backports_abc/package-version.txt
@@ -1 +1 @@
-0.4
+0.4.p0

So should it be with or without .p0?

comment:17 in reply to: ↑ 16 Changed 4 years ago by slabbe

Ok, I found the ticket (https://trac.sagemath.org/ticket/21441#comment:21) which was related to the commit adding the .p0 to force reinstallation of some packages. So, I got my answer: that .p0 should be removed for 0.5.

comment:18 Changed 4 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

I can't verify that it fixes your problem but otherwise this is fine...

comment:19 Changed 4 years ago by vbraun

  • Branch changed from u/slabbe/21900 to 8b0e1224c12b63cac75bf29cc8461b78c73b0534
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.