To determine GAP_SO sage.env looks for libgap.so but it should look for libgap.so*#35094
Conversation
adjust doctests
also add a workaround for Semigroups (see comment in the code)
`make install` installs files in both paths
The 'packagemanager' package does not load without it
This needs the soname (as in sage.env.GAP_SO) which has issues for system gap as explained in sagemath#33446. Instead we dlopen() the extension module sage.libs.gap.util which, having a link time dependency to libgap, will indirectly dlopen() it. For the record: by the time we run dlopen() the libgap should be already loaded. The purpose of doing it is to change mode to RTLD_GLOBAL so that symbols in libgap are placed in the global symbol table. This is required to compiled load gap packages. An easy test that this is working ok is: sage: libgap.LoadPackage("io") true This requires optional spkg `gap_packages` to be installed.
Same as for gap in the previous commit. Instead of requiring the soname (as in sage.env.LIBSINGULAR_PATH) we dlopen() the extension module sage.libs.singular.singular which will indirectly dlopen() libSingular.
…isambiguate the workspace file, not SAGE_LOCAL" This reverts commit a801e6d. See sagemath#33446.
Codecov ReportBase: 88.57% // Head: 88.58% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## develop #35094 +/- ##
===========================================
+ Coverage 88.57% 88.58% +0.01%
===========================================
Files 2140 2136 -4
Lines 397273 396119 -1154
===========================================
- Hits 351891 350915 -976
+ Misses 45382 45204 -178
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
|
the test failure (yes, just 1) is unrelated, and addressed by #35058 |
|
@dimpase dont forget to rebase this one as well on top of dimpase:u/dimpase/packages/gap/4_12_2 |
|
I've now set it to "blocker", which used to be the way to give a ticket priority in merging. |
|
Documentation preview for this PR is ready! 🎉 |
gh-35285: System package information tox ini gh actions for alpine linux ### 📚 system pkgs info and GH actions for alpine linux Will fix #33083. This is the rebase of the branch of the latter on top of 10.0.beta4, reduced to the scripts and package lists. Workarounds for musl libc from #33083 will be revisited in a follow up. ### 📝 Checklist - [X] I have made sure that the title is self-explanatory and the description concisely explains the PR. - [X] I have linked an issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### Dependencies - #35290 - pplpy 0.8.7 - #35094 - saner libsingular linking URL: #35285 Reported by: Dima Pasechnik Reviewer(s): Dima Pasechnik, Matthias Köppe
📚 Description
In short, sometimes there is no
lib**.soavailable, but onlylib**.so.*. This breaks GAP and Singular related things.See #33446 for details.
Closes #33446
⌛ Dependencies
Depends on #35093 #34391 (GAP update to 4.12.2)