-
-
Notifications
You must be signed in to change notification settings - Fork 479
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
./configure: Make --with-sage-venv=auto the default #32442
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Commit: |
Author: Matthias Koeppe |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
After running
|
comment:12
Oh, and |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:14
Thanks for catching this! |
comment:15
Replying to @jhpalmieri:
Yes, in an incremental build, nothing should change (except that this symlink is created). After a |
comment:16
Oh, now I see that you said you did |
comment:17
Maybe this has been going on with
In particular, Everything still builds, so this is obviously not crucial, but it doesn't look right. |
comment:18
Yes, that doesn't look right. Could you post |
comment:51
They are in the Docker container. |
comment:52
Okay, before this latest change I see the Python problem, as well as:
The other failures appear to be unrelated to this ticket: I get them with the |
comment:53
Replying to @jhpalmieri:
Did you mean to write "unrelated to this ticket"? |
comment:54
Yes, sorry, unrelated. I've edited to make it clearer in case anyone looks at this later. With the most recent branch here, Python builds correctly. I think that's good enough for another positive review. |
comment:55
Thank you! By the way, I cannot reproduce the failures with the other packages, and they also built correctly on GH Actions https://github.com/sagemath/sage/runs/3863930628?check_suite_focus=true |
comment:56
Maybe the issue was that my Docker was out of date, or maybe it was a memory issue. I upgraded Docker and allocated more RAM to it, and now those packages build. |
comment:57
I do get another failure, though; don't know if it's related to this ticket. With
|
comment:58
There is a file |
comment:59
Yes, I see this error now too. |
comment:61
Looks like on Linux I need to set the linker flags differently. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:64
This fixes it for me; this time I ran a complete build |
comment:66
This works for me with a few different builds (standard build on my machine and a few tox builds via Docker). |
Changed commit from |
comment:67
This was merged along with #32698 |
Changed branch from u/mkoeppe/__configure__make___with_sage_venv_the_default to none |
Since Sage 9.4, it is possible to use an installation tree for Python packages separate from SAGE_LOCAL:
https://wiki.sagemath.org/ReleaseTours/sage-9.4#For_developers:_..2Fconfigure_--prefix.3DSAGE_LOCAL_--with-sage-venv.3DSAGE_VENV
In this ticket we make a new setting
--with-sage-venv=auto
the default, which means:--prefix
has not been used (soSAGE_LOCAL=local
), then setSAGE_VENV
tolocal/var/lib/sage/venv-PYTHONVERSION
Users can also pass
--with-sage-venv
or--with-sage-venv=yes
, which means to unconditionally setSAGE_VENV
toSAGE_LOCAL/var/lib/sage/venv-PYTHONVERSION
.(We keep the layout as is in incremental builds.)
By keying the default name to the Python version, we ensure that if the system python version changes (either because of system updates or explicit reconfiguration), we create a fresh venv and automatically rebuild all Python packages, eliminating problems such as the one reported in https://groups.google.com/g/sage-devel/c/hZPHxqn_Cyk/m/fOAZCUWHAQAJ
Moreover, at
config.status
time, we create a symbolic linkSAGE_ROOT/venv -> SAGE_VENV
(overwriting an existing symbolic link)The link is for easy access by users and is not used otherwise. Instead of
local/lib/python3/site-packages/
orlocal/bin/sage
, usevenv/local/lib/python3/site-packages/
etc.For symmetry, we also create a symbolic link
SAGE_ROOT/prefix -> SAGE_LOCAL
. (This generalizes what is already done bytox local
.)Users will still be able to restore the previous behavior by using
--with-sage-venv=no
, or use a specific path as in--with-sage-venv=/path/to/venv
.CC: @dimpase @jhpalmieri
Component: build: configure
Author: Matthias Koeppe
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/32442
The text was updated successfully, but these errors were encountered: