-
-
Notifications
You must be signed in to change notification settings - Fork 528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add numpy dependencies to module_list.py #10214
Comments
comment:1
Attachment: 10124_numpy_depends.patch.gz |
This comment has been minimized.
This comment has been minimized.
Attachment: 10124_numpy_depends.2.patch.gz |
Apply ONLY THIS PATCH to sagelib |
comment:2
Attachment: 10214_numpy_depends.patch.gz I counted only 13 extension modules that did not get rebuilt by
|
comment:3
What I did was |
comment:4
I believe this patch to be finished, but I will do some more testing before putting it officially to review. |
comment:5
Patch looks fine so far; I think it will perhaps trigger more rebuilds than necessary, but won't leave out dependent modules (at first glance). Defining the other includes and depends also looks much better. (We could create a class for libraries, perhaps in a separate file, or read definitions from [a] text file[s].) Note that there's also a lot of crap in |
comment:6
Replying to @nexttime:
... and create our own derived |
comment:7
# We pick a file from numpy which is autogenerated so it has the
# timestamp of the numpy build.
numpy_depends = [SAGE_LOCAL + '/lib/python/site-packages/numpy/core/include/numpy/_numpyconfig.h'] Using an autogenerated file is of course safe, but we could also handle proper touching (as needed) in NumPy's |
comment:8
Upgrade path for testing: http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.1.alpha0-upgrade/sage-4.6.1.alpha0-upgrade/ I tested an upgrade from 4.6 and it worked fine. |
comment:9
Replying to @nexttime:
You mean touching only if numpy's |
comment:10
Replying to @jdemeyer:
At least that. (In rare cases, a Sage-only update might also require rebuilding the libraries though, which the spkg [maintainer] will be aware of and do the touch, too.) Many upstream upgrades will not require rebuilding the extension modules at all.
:-) Depends on your hardware... It's just that there are so many "brute-force" schemes in Sage that could be much cleaner, not necessarily to speed up the build process but because they break potential improvements, frequently cause trouble and make Sage less maintainable. But I'm ok with your patch. There's always a next release for further improvements... ;-) (I assume the upgrade path contains your unmodified patch.) |
comment:11
P.S.: In the case of NumPy (#9808), I also used An alternative is to use Cython's NumPy header ( I haven't tested this though; in principle our build system should be smart enough to deduce these indirect dependencies by itself. |
comment:12
Replying to @nexttime:
Trying to automagically detect when to rebuild modules depending on numpy looks error-prone to me. Rebuilding them for every numpy upgrade might not be necessary, but I don't think it is that much overkill (at least you have to agree that rebuilding only selected modules is better than a |
Reviewer: Leif Leonhardy |
comment:13
So it's not impossible... ;-) Successfully upgraded from Sage 4.5.3 (built from scratch, without renaming the directory) on Ubuntu 10.04 x86_64.
|
comment:14
Replying to @nexttime:
As expected, |
Merged: sage-4.6.1.alpha1 |
In order to fix
sage -upgrade
after #9808, we need to add missing numpy dependencies inmodule_list.py
.CC: @nexttime @sagetrac-maldun
Component: build
Keywords: numpy upgrade
Author: Jeroen Demeyer
Reviewer: Leif Leonhardy
Merged: sage-4.6.1.alpha1
Issue created by migration from https://trac.sagemath.org/ticket/10214
The text was updated successfully, but these errors were encountered: