-
-
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
Find and uninstall broken installed SPKGs and wheels #34203
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Commit: |
This comment has been minimized.
This comment has been minimized.
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:
|
This comment has been minimized.
This comment has been minimized.
Author: Matthias Koeppe |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:17
Ready for testing on macOS. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:45
Replying to John Palmieri:
An SPKG |
comment:46
Replying to John Palmieri:
It's broken as follows: You have an installation of it (from some other branch), but it's not (per what is currently in |
comment:47
In 9.7.rc1, |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:49
And here's that merge commit. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:51
Should this have a nonzero return code if some packages are broken? |
comment:52
From its name |
comment:53
I think I agree but I wanted to ask. |
comment:54
It is possible that some could want to do |
comment:55
Yes, I thought about this, but I'd say that this whole thing is a strictly manual operation, which doesn't lend itself to scripting. |
comment:56
For the new package Installing |
comment:57
The comment "and delete the rest" does not seem to be accurate (and I think it's fine not to delete the old stamp files here). |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:59
Replying to John Palmieri:
Not needed - that's what makes optional "pip" packages so convenient.
Right, it's only needed for repairing wheels. But it's best not try to circumvent the declared dependencies. The scipy upgrade (#34081) will bring a patchelf, by the way. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:61
Great, I think this is ready to go now. |
Reviewer: John Palmieri |
comment:62
Thank you! |
Changed branch from u/mkoeppe/find_and_uninstall_broken_installed_spkgs_and_wheels to |
When system packages are upgraded, shared libraries that a Sage installation links to can disappear, rendering the Sage installation broken. This is a common problem, reported for example in https://groups.google.com/g/sage-devel/c/Iz8ZsmQM3Pg/m/CPl9CbHmBgAJ
To avoid a full rebuild (
make distclean && make build
), we can try to find the specific broken packages.The new command
make -j list-broken-packages
assists the user with this:The core functionality is implemented by the new command
sage-spkg-installcheck
(implemented in sage_bootstrap):It inspects the installation records in
$SAGE_LOCAL/var/lib/sage/installed/
and all shared libraries and platform wheels listed there.On macOS, instead of using
otool
directly, we usedelocate-listdeps
from https://pypi.org/project/delocate/On Linux, instead of using
ldd
directly, we useauditwheel.lddtree.lddtree
(https://github.com/pypa/auditwheel/blob/main/src/auditwheel/lddtree.py)(Both packages are also used by cibuildwheel)
See also: #34205 Optionally run auditwheel/delocate on wheels before installing them
Depends on #29097
CC: @dimpase @jhpalmieri @nbruin @EmmanuelCharpentier
Component: build
Author: Matthias Koeppe
Branch/Commit:
3c70a38
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/34203
The text was updated successfully, but these errors were encountered: