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

gap: support gap 4.13 in sagelib (does NOT touch sage-the-distro) #37884

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

tornaria
Copy link
Contributor

In gap 4.13 there are some improvements, e.g. converting fp groups to permutation groups, computing abelianization of fp groups, which lead to different generators.

This PR fixes doctests so they pass using gap 4.13.

I don't see a way to have this work with gap 4.12.2 at the same time, so this is not in principle ready to merge.

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.

⌛ Dependencies

#37883: don't use deprecated LaTeX() gap function.

Copy link

github-actions bot commented Apr 28, 2024

Documentation preview for this PR (built with commit c49562e; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@tornaria
Copy link
Contributor Author

The failures here are real:

----------------------------------------------------------------------
sage -t --random-seed=130925441006892428060280565126983766193 src/sage/categories/simplicial_sets.py  # 7 doctests failed
sage -t --random-seed=130925441006892428060280565126983766193 src/sage/groups/finitely_presented.py  # 5 doctests failed
sage -t --random-seed=130925441006892428060280565126983766193 src/sage/groups/perm_gps/permgroup_named.py  # 3 doctests failed
----------------------------------------------------------------------

and the reason why this PR can't be merged if gap is not updated to 4.13.

But really, either output (the one with gap 4.12 or the one with 4.13) is just fine. Hence, updating gap to 4.13 in sage-the-distro and apply this PR at the same time, is a pain for using system gap (either we restrict the version of gap that is allowed from system, or we end up with failing doctests on some systems).

We really need to come up with a system to be able to support different versions of dependencies in doctests... at this time we have a similar problem with the difference between singular 4.3 and 4.4 (which we worked around with an ugly hack of patching the output of singular when running via doctests!).

@tscrim
Copy link
Collaborator

tscrim commented Apr 28, 2024

We had specific tags for Python 2 and 3 differences. Since there are only a few differences (some of which are really not easy to rectify by changing the doctests), one option might be to introduce such tags for GAP versions. Or we just tell people that some tests might not pass for trivial reasons if you do not have a sufficiently updated version of GAP...

@tornaria
Copy link
Contributor Author

We had specific tags for Python 2 and 3 differences. Since there are only a few differences (some of which are really not easy to rectify by changing the doctests), one option might be to introduce such tags for GAP versions. Or we just tell people that some tests might not pass for trivial reasons if you do not have a sufficiently updated version of GAP...

Here's one idea to think about:

  • tag the test with, say, "gap-4.12.2" to indicate that the output corresponds to gap version 4.12.2 (this is the current version in sage-the-distro).
  • somewhere we have some kind of "translation" file (akin to "po" files in gettext) in which have alternate versions of doctest outputs for different versions.

A quick example with one test (very crude first try):

In src/sage/algebras/fusion_rings/fusion_double.py we have

        sage: b13^2 # long time (4s), gap-4.12.2
        b0 + b2 + b4 + b15 + b16 + b17 + b18 + b24 + b26 + b27

The traslation file for gap has something like:

#: src/sage/algebras/fusion_rings/fusion_double.py:134
msgid b0 + b2 + b4 + b15 + b16 + b17 + b18 + b24 + b26 + b27
msgstr[4.13.0] b0 + b3 + b4

I'm not sure if the doctest label has to include the gap version or even the program name (maybe just have a common tag to mark the test to be applied this mechanism).

@tornaria
Copy link
Contributor Author

Here's another (maybe simpler?) idea. See src/sage/arith/long.pxd where we have this doctest:

        sage: a^(2**258)
        Traceback (most recent call last):
        ...
        OverflowError: exponent must be at most 2147483647           # 32-bit
        OverflowError: exponent must be at most 9223372036854775807  # 64-bit

so the output is labeled here... If we could have labels e.g "gap < 4.13" and "gap >= 4.13" or something like this... Would that we workable?

In gap 4.13 there are some improvements, e.g. converting fp groups to
permutation groups, computing abelianization of fp groups, which lead to
different generators.

This commit fixes doctests so they pass using gap 4.13.
@tscrim
Copy link
Collaborator

tscrim commented May 10, 2024

Sorry for loosing track of this. Yes, I think having something as a tag on the output with, e.g., # gap < 4.13 is a good solution. It is clear to the reader and to implement in the tester. This is what I had in mind.

@mkoeppe
Copy link
Member

mkoeppe commented Jun 7, 2024

Or, for simplicity, how about we just update gap to 4.13 and require the same version from the system.

RIght now, only >= 4.12.2 is accepted, but there's not really anything relevant that actually has 4.12.2 but not 4.13 - https://repology.org/project/gap/versions

@mkoeppe
Copy link
Member

mkoeppe commented Jun 7, 2024

I've opened #38169 for the update, based on this PR.

@mkoeppe
Copy link
Member

mkoeppe commented Jun 9, 2024

Let's close this in favor of #38169

@mkoeppe mkoeppe closed this Jun 9, 2024
vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 10, 2024
    
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

- Based on sagemath#37884 by @tornaria
- Fixes sagemath#37616

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

- Depends on sagemath#38144 (merged here for testing)
    
URL: sagemath#38169
Reported by: Matthias Köppe
Reviewer(s):
@dimpase dimpase reopened this Jun 13, 2024
@dimpase
Copy link
Member

dimpase commented Jun 14, 2024

@mkoeppe, I am reopening this, as I cannot leave comments on #38169

I see a serious slowdown at startup by libgap 4.13.0. And lots of timeouts while testing.e.g. src/sage/features/gap.py
(it hangs while testing for presence of a GAP package)

@mkoeppe
Copy link
Member

mkoeppe commented Jun 14, 2024

Then perhaps for the upcoming release we should reject system gap 4.13

@enriqueartal
Copy link
Contributor

@mkoeppe, I am reopening this, as I cannot leave comments on #38169

I see a serious slowdown at startup by libgap 4.13.0. And lots of timeouts while testing.e.g. src/sage/features/gap.py (it hangs while testing for presence of a GAP package)

I had also these issues with system gap 4.13.0

@mkoeppe
Copy link
Member

mkoeppe commented Jun 15, 2024

perhaps for the upcoming release we should reject system gap 4.13

Happening in #38222

@tornaria
Copy link
Contributor Author

I don't see any problem with system gap 4.13.0, but nobody here has given any concrete problem. If you have an issue, please document it properly.

$ time echo 'print(gap.version())' | sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.4.beta9, Release Date: 2024-06-09              │
│ Using Python 3.12.4. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable.     ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: 4.13.0
sage: 
real	0m1.263s
user	0m0.899s
sys	0m0.240s

and:

$ sage -t src/sage/features/gap.py 
Running doctests with ID 2024-06-21-19-18-28-ebfc56bc.
Running with SAGE_LOCAL='/usr' and SAGE_VENV='/usr'
Using --optional=pip,sage
Features to be detected: 4ti2,SAGE_SRC,benzene,bliss,buckygen,conway_polynomials,coxeter3,csdp,cvxopt,cvxopt,database_cremona_ellcurve,database_cremona_mini_ellcurve,database_cubic_hecke,database_ellcurves,database_graphs,database_jones_numfield,database_knotinfo,dvipng,ecm,fpylll,fricas,gap_package_atlasrep,gap_package_design,gap_package_grape,gap_package_guava,gap_package_hap,gap_package_polycyclic,gap_package_qpa,gap_package_quagroup,gfan,graphviz,imagemagick,ipython,jmol,jupymake,kenzo,latte_int,lrcalc_python,lrslib,matroid_database,mcqd,meataxe,mpmath,msolve,nauty,networkx,numpy,palp,pandoc,pdf2svg,pdftocairo,pexpect,phitigra,pillow,plantri,polytopes_db,polytopes_db_4d,pplpy,primecountpy,ptyprocess,pynormaliz,pyparsing,python_igraph,requests,rubiks,sage.combinat,sage.geometry.polyhedron,sage.graphs,sage.groups,sage.libs.braiding,sage.libs.ecl,sage.libs.flint,sage.libs.gap,sage.libs.linbox,sage.libs.m4ri,sage.libs.ntl,sage.libs.pari,sage.libs.singular,sage.misc.cython,sage.modular,sage.modules,sage.numerical.mip,sage.plot,sage.rings.complex_double,sage.rings.finite_rings,sage.rings.function_field,sage.rings.number_field,sage.rings.padics,sage.rings.polynomial.pbori,sage.rings.real_double,sage.rings.real_mpfr,sage.sat,sage.schemes,sage.symbolic,sage_numerical_backends_coin,sagemath_doc_html,scipy,singular,sirocco,sphinx,symengine_py,sympy,tdlib,threejs
Doctesting 1 file.
sage -t --warn-long 54.2 --random-seed=98016762996915206017354129061208164348 src/sage/features/gap.py
    [5 tests, 0.00 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 1.3 seconds
    cpu time: 0.0 seconds
    cumulative wall time: 0.0 seconds
Features detected for doctesting: 

@enriqueartal
Copy link
Contributor

In a virtual machine with fedora 40 and gap 4.13.1 installed I got plenty of errors, some of them for change of order in some outputs, but many timed out. This is the config.log:
config22062024.log
Failed tests:

sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/code_bounds.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/algebras/quantum_groups/quantum_group_gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/code_constructions.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/databases.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/guava.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/linear_code.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/linear_code_no_metric.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/block_design.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/database.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/design_catalog.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/twographs.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/incidence_structures.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/posets/posets.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/features/__init__.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/classical_geometries.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/features/gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/distance_regular.pyx  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/smallgraphs.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/strongly_regular_db.pyx  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_aut.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group_gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group_morphism.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/perm_gps/permgroup.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/perm_gps/permgroup_named.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/modular/arithgroup/congroup_gamma0.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/modular/arithgroup/congroup_gammaH.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/rings/finite_rings/integer_mod_ring.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/rings/number_field/number_field.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/plot/plot3d/tachyon.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/cubic_braid.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/giac.py  # 3 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/maxima_abstract.py  # 2 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/singular.py  # 3 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/calculus/tests.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/finitely_presented.py  # 5 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/matrices/latin.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/categories/simplicial_sets.py  # 7 doctests failed

I do not know if they may have other origins.

@dimpase
Copy link
Member

dimpase commented Jun 23, 2024

yes, that's roughly what I see with GAP 4.13, too.

tips on how to debug this are most welcome

@tornaria
Copy link
Contributor Author

In a virtual machine with fedora 40 and gap 4.13.1 installed I got plenty of errors, some of them for change of order in some outputs, but many timed out. This is the config.log: config22062024.log Failed tests:

sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/code_bounds.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/algebras/quantum_groups/quantum_group_gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/code_constructions.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/databases.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/guava.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/linear_code.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/coding/linear_code_no_metric.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/block_design.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/database.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/design_catalog.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/twographs.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/designs/incidence_structures.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/posets/posets.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/features/__init__.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/classical_geometries.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/features/gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/distance_regular.pyx  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/generators/smallgraphs.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/graphs/strongly_regular_db.pyx  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_aut.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group_gap.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/abelian_gps/abelian_group_morphism.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/perm_gps/permgroup.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/perm_gps/permgroup_named.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/modular/arithgroup/congroup_gamma0.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/modular/arithgroup/congroup_gammaH.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/rings/finite_rings/integer_mod_ring.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/rings/number_field/number_field.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/tests/books/judson-abstract-algebra/cyclic-sage.py  # Timed out (and interrupt failed)
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/plot/plot3d/tachyon.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/cubic_braid.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/giac.py  # 3 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/maxima_abstract.py  # 2 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/interfaces/singular.py  # 3 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/calculus/tests.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/groups/finitely_presented.py  # 5 doctests failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/combinat/matrices/latin.py  # 1 doctest failed
sage -t --random-seed=226608378353374297580456837628715556643 src/sage/categories/simplicial_sets.py  # 7 doctests failed

I do not know if they may have other origins.

I build gap 4.13 straight from source, no relevant patch. Maybe your gap 4.13 package is broken? Do they run gap tests on build?

The log above doesn't show what is failing. Can you actually show the code that is failing / timing out, and track back to a failure in gap 4.13? Then we can compare a "good" 4.13 (mine) with a "bad" 4.13 (yours). And maybe test for "bad" gap by failure, not by version. Because why would sage force me to build gap if mine is working properly?

Next thing we know, sage is shipping gcc because some os has a broken toolchain... /s

@tornaria tornaria mentioned this pull request Jun 23, 2024
5 tasks
@antonio-rojas
Copy link
Contributor

antonio-rojas commented Jun 23, 2024

GAP 4.13.1 causes two additional failures:

**********************************************************************
File "/usr/lib/python3.12/site-packages/sage/combinat/matrices/latin.py", line 2456, in sage.combinat.matrices.latin.p3_group_bitrade_generators
Failed example:
    p3_group_bitrade_generators(3)
Expected:
    ((2,6,7)(3,8,9),
     (1,2,3)(4,7,8)(5,6,9),
     (1,9,2)(3,7,4)(5,8,6),
     Permutation Group with generators [(2,6,7)(3,8,9), (1,2,3)(4,7,8)(5,6,9)])
Got:
    ((4,5,6)(8,10,12)(11,15,14),
     (1,2,3)(7,8,11)(9,12,15)(10,14,13),
     (1,3,2)(4,6,5)(7,14,8)(9,11,12)(10,13,15),
     Permutation Group with generators [(4,5,6)(8,10,12)(11,15,14), (1,2,3)(7,8,11)(9,12,15)(10,14,13)])
**********************************************************************
File "/usr/lib/python3.12/site-packages/sage/groups/cubic_braid.py", line 285, in sage.groups.cubic_braid.CubicBraidElement._richcmp_
Failed example:
    sorted(CBG3)    # indirect doctest
Expected:
    [(c0*c1^-1)^2, c0*c1^-1*c0, c0^-1*c1*c0^-1, c0^-1*c1^-1*c0,
     c1*c0^-1*c1, c0^-1*c1^-1*c0^-1, c0^-1*c1^-1, c1^-1*c0*c1^-1,
     c0*c1^-1*c0^-1, c0^-1*c1, c0^-1*c1*c0, c0*c1^-1, c1*c0^-1,
     c1^-1*c0^-1, c1^-1*c0, c1*c0, c0^-1, c0*c1*c0^-1, c0*c1*c0,
     c0, c0*c1, c1^-1, c1, 1]
Got:
    [(c0^-1*c1)^2,
     c0*c1^-1*c0,
     c0^-1*c1*c0^-1,
     c0^-1*c1^-1*c0,
     c1*c0^-1*c1,
     c0^-1*c1^-1*c0^-1,
     c0^-1*c1^-1,
     c0*c1*c0^-1*c1,
     c0*c1^-1*c0^-1,
     c0^-1*c1,
     c0^-1*c1*c0,
     c0*c1^-1,
     c1*c0^-1,
     c1^-1*c0^-1,
     c1^-1*c0,
     c1*c0,
     <[ [ 1, -1 ] ]|c0^-1>,
     c0*c1*c0^-1,
     c0*c1*c0,
     <[ [ 1, 1 ] ]|c0>,
     c0*c1,
     c1^-1,
     c1,
     1]

The first one is the usual change of generators, but the second one looks broken

@enriqueartal
Copy link
Contributor

test22062024.log
are the complete logs, thought the failures are mainly harmless or known, or timed out with no clue about the reason. I rebuilt the gap src.rpm and it performs tests.
I go on testing.

@enriqueartal
Copy link
Contributor

I have reinstalled gap (with dnf) recompiled from source (from src rpm) and recompile sage. I have tested sage/features/gap.py and stopped it due to long time, see crash_kvt34q95.log, hopefully it may help

@antonio-rojas
Copy link
Contributor

I have reinstalled gap (with dnf) recompiled from source (from src rpm) and recompile sage. I have tested sage/features/gap.py and stopped it due to long time, see crash_kvt34q95.log, hopefully it may help

This is the Browse package issue that I reported in #31761 (comment)

@enriqueartal
Copy link
Contributor

Sorry for the newbie question. I compiled gap from the source and installed it in /usr/local but config.log says that it cannot link against libgap. How can I proceed?

@dimpase
Copy link
Member

dimpase commented Jun 23, 2024

Sorry for the newbie question. I compiled gap from the source and installed it in /usr/local but config.log says that it cannot link against libgap. How can I proceed?

there is more info in the top-level config.log
Would be good to see it

@enriqueartal
Copy link
Contributor

Sorry for the newbie question. I compiled gap from the source and installed it in /usr/local but config.log says that it cannot link against libgap. How can I proceed?

there is more info in the top-level config.log Would be good to see it

I attach the whole config23062024.log but maybe the relevant lines are:

configure:28093: checking if we can link against libgap
configure:28127: gcc -o conftest -g -O2   -Dlinux   -I/usr/include  conftest.c -lecm -lflint -lflint -lmpfr -lpari -lcurl -lcliquer -lcddgmp -lbz2 -lbliss -lglpk -lgmp -lm  -lntl -lgap >&5
conftest.c:81:28: fatal error: gap/libgap-api.h: No such file or directory
   81 |                   #include <gap/libgap-api.h>
      |                            ^~~~~~~~~~~~~~~~~~

I missed them.

@enriqueartal
Copy link
Contributor

Hopefully solved. Missed non recommended make install (which also made some trouble by copying executables in /usr/local/bin instead linking). Now it is recognized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants