Optionally run auditwheel/delocate on wheels before installing them
mkoeppe opened this issue · 1 comments
mkoeppe commented
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
As a partial solution, we can copy system shared libraries into our platform wheels using auditwheel (Linux) or delocate (macOS), like cibuildwheel does. This increases the installation size and build time, so it should be optional.
This is only a partial solution because
- executables in
$SAGE_LOCAL(which are not installed via wheels) can still break when shared libraries that they are linked to disappear - sagelib is not installed via a wheel (#32874)
See also:
- #34203 Find and uninstall broken installed SPKGs and wheels
CC: @nbruin
Component: build
Issue created by migration from https://trac.sagemath.org/ticket/34205
mkoeppe commented
Description changed:
---
+++
@@ -2,7 +2,9 @@
As a partial solution, we can copy system shared libraries into our platform wheels using auditwheel (Linux) or delocate (macOS), like cibuildwheel does. This increases the installation size and build time, so it should be optional.
-This is only a partial solution because executables in `$SAGE_LOCAL` (which are not installed via wheels) can still break when shared libraries that they are linked to disappear.
+This is only a partial solution because
+- executables in `$SAGE_LOCAL` (which are not installed via wheels) can still break when shared libraries that they are linked to disappear
+- sagelib is not installed via a wheel (#32874)
See also:
- #34203 Find and uninstall broken installed SPKGs and wheels