-
-
Notifications
You must be signed in to change notification settings - Fork 488
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
build the sage library in place #12659
Comments
This comment has been minimized.
This comment has been minimized.
comment:3
Hey Mike, could you explain briefly why you delete (not move) all this code? Just curious.
|
comment:4
I removed it since we don't need to copy those files anymore -- they're already in the right place. |
comment:6
Mike -- that makes sense. However, why do we have this code still:
Wouldn't the above only be run if we are not building in place? It seems to me that it would be best to either keep the code discussed in the comment above, or should replace all the code above by
I'm in favor of the latter, unless I'm misunderstanding things. |
comment:7
Attachment: trac_12659.patch.gz Agreed -- I've put an updated patch. |
comment:8
Regarding everything else about this patch, it seems to work perfectly (though I'm running a few tests), and in fact is REALLY, REALLY AWESOME. This must go into Sage ASAP! It's wonderful. |
comment:9
Thanks! |
comment:10
It seems to me that if this get's merged then we should undo the changes at #11235 |
comment:11
I'm happy with this code. And indeed the work at #11235 seems not necessary anymore. |
Reviewer: William Stein |
comment:13
Could this have caused
|
comment:14
Indeed, it is. I have no explanation for the fact that only the import of this particular module fails. It was recently added in #11754, but how should that be relevant? |
comment:15
How did you get that particular error? How did you merge in the patch here? |
comment:16
Dumbest question ever, I'm sure, but I'll ask it - will this affect upgrades at all? |
comment:17
Replying to @mwhansen:
Apply the patch, sdist, build Sage from scratch. |
comment:18
Replying to @kcrisman:
I certainly don't think this is a dumb question, in fact it is a very good question. I don't know the answer though. |
comment:19
Upgrades should be fine -- when |
comment:20
So the first time an upgrade happens, the entire Sage library will have to rebuild its extensions and then put them in the new location, correct? |
comment:21
Yes -- it does not try to copy existing extension modules over. |
comment:22
By the way, I had the same experience as Jeroen: I applied the patches, did
Is the issue the C code in the directory |
comment:41
As I mentionned on sage-devel, I recently noticed some preliminary Compiling in place means saving 15s of So I explored this further, and with very minimal further changes , See branch u/nthiery/compile_library_inplace: https://github.com/sagemath/sagetrac-mirror/commits/u/nthiery/compile_library_inplace I can't wait until I can use this for real Sage development. But for What would be the right approach to make this feature configurable I am happy to use a different ticket for this if this is deemed Cheers, |
comment:43
This isn't just an issue of efficiency. Based on my experience, probably hundreds of potential sage developers have been confused by precisely the thing that just confused you. I remember Robert Miller running around at one Sage days going crazy because it seemed like everybody was massively confused by the fact there are multiple copies of arith.py (etc.). If I had any employees who could work on Sage, this would definitely be a good thing to put in a top 5 list of ticket priorities. |
comment:44
+1 |
comment:45
I wouldn't like the clutter of |
comment:46
Replying to @jdemeyer:
How about making links to .py files in SAGELOCAL rather than copying them into SAGELOCAL ? Why was copying chosen in the 1st place, I wonder... |
comment:47
Replying to @dimpase:
Portability? |
comment:48
Copying wasn't chosen by us but by Python - it's just how setup.py install works. The so and pyc files would definitely be in tree for this ticket and I believe this change would avoid tons of confusion.
|
comment:49
Replying to @williamstein:
What kind of confusion are you talking about? Perhaps the confusion can be fixed in a different way?
No, it never got in Sage because it never actually worked. |
comment:50
Replying to @williamstein:
well, what does prevent us to add an extra step of replacing copies with links? This would combine the advantage of not having multiple copies of py files lying around (and not needing to
|
comment:51
Replying to @williamstein:
We will definitely consider this in ODK. Actually the main reason we Cheers, |
comment:52
Replying to @jdemeyer:
Well, see [comment:41]; it seemed pretty close from working. But of course the devil might be in the last bits to be polished. |
comment:53
I still don't understand what the problem is that this ticket is trying to fix. |
Changed reviewer from William Stein to none |
Changed author from Mike Hansen to none |
comment:54
Let's close this ticket as outdated. For a new approach to in-place builds / editable installs, see #30371. |
Reviewer: John Palmieri |
comment:55
Okay. |
Use distutils to build the Sage library inplace to save on space / make it clearer which files are actually being used in runtime.
See the discussion at http://groups.google.com/group/sage-devel/browse_thread/thread/d5aef15acc4d178b
Depends on #13363
CC: @williamstein @kini @fchapoton @jhpalmieri
Component: build
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/12659
The text was updated successfully, but these errors were encountered: