-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
Replace pip2/3-lock with a generic sage-flock command #23397
Comments
Author: Erik Bray |
Commit: |
Branch: u/embray/build/lockfile |
comment:1
(CC: jdemeyer, original author of the script) New commits:
|
comment:2
Apparently this has a bug... |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:5
ping I actually increasingly need this as it's difficult to get through a parallel build on Cygwin now without it failing a few times due to the lack of locking around rebase. |
comment:6
Why did you remove |
Reviewer: Jeroen Demeyer |
comment:7
I think it would be good to mention somewhere in a comment that this may be used in build scripts, but only for packages depending on Python. The help mentions
but I don't see that in the implementation. |
comment:8
Replying to @jdemeyer:
See also https://mail.python.org/pipermail/python-list/2015-November/698421.html It seems that Python 2 has unbuffered But this was changed in Python 3, so the flushing would be required there. |
comment:9
Ah, good catch. I had mistakenly assume that the As for being "only for packages depending on Python" that has me wondering now what the best thing would be to do with this. Maybe it should be moved to |
comment:11
Replying to @embray:
If I recall correctly, we require system Python 2.6 or later, which means that you can't use |
comment:12
Replying to @sagetrac-git:
The |
comment:13
D'oh, how annoying. In that case I'll just switch it back to |
comment:14
Replying to @jdemeyer:
That's not an issue. We already addressed this some time ago... https://github.com/sagemath/sagetrac-mirror/blob/develop/build/sage_bootstrap/compat?id=3faf8d0519918feb308b3bb56fbe36e0a0c2a290 The question is, should the script live in |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:16
Replying to @embray:
What is your use case? |
comment:17
See description. |
comment:18
To clarify, the |
comment:19
Replying to @embray:
If you intend to use the system Python if applicable, it should be |
comment:20
Replying to @jdemeyer:
But that's the problem, because if it's intended to be used at runtime it should in that case be using Sage's Python (I guess?), and with That said, the original use case for this was with |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:22
You've convinced me (and/or I've convinced myself) that this is the best approach. |
comment:23
Replying to @embray:
But then you need to ensure that your script can find this |
comment:24
Okay, I was under the mistaken assumption, for some reason, that this was added to |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:29
This is increasingly critical since not having it can lead to failures even in the patchbot base build, causing the patchbot to exit. |
Changed branch from u/embray/build/lockfile to |
I suggested something like this on #21672 but didn't have immediate need to follow up on it.
Something like this will be useful for making Windows builds more reliable, however, as there are some operations that can fail if they are run simultaneously during parallel builds.
In particular I'm trying to trace down failures with DLL rebasing, and at least part of the problem is that rebase can fail if it's being multiple times simultaneously as can happen during a parallel build (especially toward the end of the build when lots of Python packages are being installed--these are fast and often results in multiple rebases being run simultaneously).
With tickets like #22509 it will also be possible to make further restrictions, such as not running rebase while a package is being uninstalled.
CC: @jdemeyer
Component: build
Author: Erik Bray
Branch/Commit:
b6e4a62
Reviewer: Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/23397
The text was updated successfully, but these errors were encountered: