-
-
Notifications
You must be signed in to change notification settings - Fork 516
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
Downgrade broken optional packages to experimental for Sage 9.2 #30349
Comments
comment:2
I'd say a broken optional package is by definition not a blocker... |
New commits:
|
Commit: |
This comment has been minimized.
This comment has been minimized.
Author: Matthias Koeppe |
comment:7
Simon, what is the current status of your package? |
comment:8
Replying to @dimpase:
I thought that it works. As far as I recall, when I last checked, it did. Anyway, I plan to give a talk on the package during the next SageDays, so, I am motivated to fix it. Can you tell me what problems arose? |
comment:9
Replying to @simon-king-jena:
PS: By "my package", I refer to p_group_cohomology. There is "my other package", namely SharedMeatAxe, which is supposed to work and has recently also been fixed on cygwin (see #29152 |
comment:10
Here are results of a local run, with 9.2.beta14 - that's newer than this ticket, but a bit older than the current rc - they match errors seen in the logs in the ticket description.
rather than
(and more failing tests due to this, as you imagine) Perhaps Matthias knows the reason for this. |
comment:11
It might be due to the packages now being built using Python wheels, and everything in the package goes to the |
comment:12
Replying to @dimpase:
Probably. So, tell me: is there an environment variable or a Sage variable that provides the location of GAP's package data? Since this is an actual bug: Should it be fixed here (although this ticket is about downgrading several packages rather then fixing them) or on a new ticket? |
comment:13
Really unfortunate that the Cython code of p_group_cohomology has not been made optional Cython files in the Sage library, because then it would be easy to fix without upgrading the upstream source ball. |
comment:14
PS: Replying to @dimpase:
It is indeed weird that $SAGE_LOCAL appears twice in this path. In the sources, if I see that correctly, this path appears only once, namely setup.py ( So, if I understand correctly what the error says, GAP does indeed try to find the GAP code in that folder, and the real question is why the code hasn't been installed there during package installation. |
comment:15
Replying to @simon-king-jena:
I stand corrected: There are some places in the file auxiliaries.py, something like A clean solution would be to have a Sage or an environment variable giving the location of code of Gap extensions. |
comment:16
For |
comment:18
Replying to @simon-king-jena:
You can call GAP and examine IMHO, Python wheels are build to be relocateable, so it's futile to try to install GAP |
comment:19
Replying to @simon-king-jena:
Yes, I would hope that we can make this improvement to the source structure in Sage 9.3. Similar to what has been done in the 9.2 cycle with |
comment:20
Replying to @dimpase:
Note that apparently |
comment:21
Replying to @mkoeppe:
Can you elaborate? At some point in the past, I suggested to change the p_group_cohomology spkg as follows:
Do you suggest this, or something else? It used to be a problem that the documentation of the optional Cython modules would not be built. Is there a way around? EDIT: Is it possible to advise Sage's test suite to only run the tests of a particular file if a certain optional package is installed? Or is it still only possible for individual tests? I'd find it extremely awkward to mark each individual doctest as |
comment:22
Replying to @simon-king-jena:
Yes
Yes, in particular if that C library can also be used outside of Sage...
You could either ship them with that spkg that provides the C library and then install it in Or, if you want to ship it with sagelib, then (as I commented in #28711) these files should be put alongside the Python modules. sagelib and other Python packages have no business writing into $SAGE_LOCAL. |
comment:23
Replying to @mkoeppe:
OK, that was what I have suggested in the past, but what was refused by other developers. Crucial point, from my point of view: Documentation and doc tests, as explained in my other posts. Are these problems of optional extension modules solved?
How do you define "can"? David Green, the original author of the c-code (that originally hasn't even been a library but only a couple of executables) has used them via command line, but I think he is the only one who ever did. I'd say: I do not intend to ever publish the c-code outside of the Sage ecosystem.
That's what is currently happening.
I don't.
|
comment:24
Replying to @simon-king-jena:
This version of "can" is good enough.
As long as you build this library using standard tools (preferably autotools) instead of Sage-specific scripts, and the C library does not depend on the Sage library, this is all fine. |
comment:25
In any case, I don't think it's realistic to fix these issues in Sage 9.2. |
comment:26
I think a hotfix for p_group_cohomology, to install GAP files into the right place, using SAGE_LOCAL, despite being blasphemy in the Temple of Python, can be done very quickly. Just add |
comment:27
after doing GAP files load, but Singular do not load
So this is a similar to GAP files problem, only with Singular... |
comment:28
Replying to @dimpase:
See my comment 39 at #28711: Apparently Sage prepends the absolute path So, I guess the real hotfix is to tell me: How should I provide a RELATIVE path in which to install the GAP respectively Singular code? Would it just work to write data_files=[ ( os.path.join( "share", "gap", "pkg", "modular_cohomology" ),
[ os.path.join( "pGroupCohomology", "GapMaxels.g" ),
os.path.join( "pGroupCohomology", "GapMB.g" ),
os.path.join( "pGroupCohomology", "GapSgs.g" ) ] ),
( os.path.join( "share", "singular", "LIB" ),
[ os.path.join( "pGroupCohomology","dickson.lib" ) ] ) ] ? EDIT: I'd also need to change the places in |
comment:29
can we get p_group_cohomology off the branch here? |
Dependencies: #28711 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:33
ok |
Reviewer: Dima Pasechnik |
Changed branch from u/mkoeppe/downgrade_broken_optional_packages_to_experimental_for_sage_9_2 to |
see:
Downgrading two optional packages that fail to build on many platforms, as can be seen in https://github.com/mkoeppe/sage/actions/runs/296478189
Depends on #28711
CC: @jhpalmieri @dimpase @slel @simon-king-jena
Component: packages: optional
Author: Matthias Koeppe
Branch/Commit:
674523c
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/30349
The text was updated successfully, but these errors were encountered: