Skip to content
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

load the GAP packages sotgrps and sglppow (extensions of the library of small groups) #3517

Merged
merged 1 commit into from
Sep 22, 2024

Conversation

ThomasBreuer
Copy link
Member

This was intended to belong to pull request #3478, which got merged before commit 9cec252 "arrived".

As soon as the GAP fix from gap-system/gap/pull/5666 becomes available, loading the two GAP packages will not cause strange error messages when leaving Julia.

@ThomasBreuer
Copy link
Member Author

ThomasBreuer commented Mar 14, 2024

O.k., we have again problems on the GAP side:

The LiePRing package is a suggested package of sglppow. Fine.
The Singular package is a needed package of LiePRing. This would also be fine if Singular would have a valid availability test in its PackageInfo.g.

However, currently Singular just claims that it is available, thus LiePRing is regarded as available, and GAP runs into an error when it tries to load it if there is no Singular executable.

I think that the problem must be solved in the Singular package, by turning parts of CheckSingularExecutableAndTempDir (in gap/singular.g) into the TestPackageAvailability function.

(I will provide a pull request for the Singular package.)

@ThomasBreuer
Copy link
Member Author

Thinking more about the situation, I decided that the right place for adding a TestAvailability function is the LiePRing package, see gap-packages/liepring/pull/27.

@fingolfin
Copy link
Member

I've added a comment to gap-packages/liepring#27 explaining that I think it would be better for us to patch the LiePRing package to call into OSCAR instead of using the GAP package singular.

In addition, we could proactively set sing_exec to point to the Singular executable shipped with OSCAR (or perhaps rather a wrapper script for it made using https://github.com/oscar-system/BinaryWrappers.jl e.g. inside the Oscar sources, one could write

import Singular.Singular_jll
const singular_path = Singular.Setup.BinaryWrappers.@generate_wrappers(Singular_jll)
GAP.Globals.sing_exec = GAP.Obj(joinpath(singular_path, "Singular"))

(As an aside, I just submitted oscar-system/BinaryWrappers.jl#5 -- with that one could also do

const singular_path = Singular.Setup.BinaryWrappers.@generate_wrappers(Singular.Singular_jll)
GAP.Globals.sing_exec = GAP.Obj(joinpath(singular_path, "Singular"))

but either version is fine)

@ThomasBreuer
Copy link
Member Author

@fingolfin Once we have patches for LiePRing in Oscar such that MyFactors and CallGroebner get replaced after loading LiePRing, what would be a good solution to express that GAP's Singular package should not be regarded as a suggested package if we are in the context of Oscar? Shall Oscar try to modify the dependencies of LiePRing, or do we need something like conditional dependencies for GAP packages?

@fingolfin fingolfin closed this Sep 20, 2024
@fingolfin fingolfin reopened this Sep 20, 2024
Copy link

codecov bot commented Sep 20, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.65%. Comparing base (ad4d3ca) to head (e82da29).
Report is 577 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3517      +/-   ##
==========================================
+ Coverage   82.06%   84.65%   +2.59%     
==========================================
  Files         564      626      +62     
  Lines       76106    84313    +8207     
==========================================
+ Hits        62457    71377    +8920     
+ Misses      13649    12936     -713     
Files with missing lines Coverage Δ
src/Oscar.jl 68.75% <100.00%> (-3.09%) ⬇️

... and 448 files with indirect coverage changes

@ThomasBreuer ThomasBreuer merged commit 55ea957 into oscar-system:master Sep 22, 2024
30 of 52 checks passed
@ThomasBreuer ThomasBreuer deleted the TB_doc_grouplibs2 branch September 22, 2024 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants