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

Upgrade: Maxima 5.44.0 #30063

Closed
pjbruin opened this issue Jul 4, 2020 · 67 comments
Closed

Upgrade: Maxima 5.44.0 #30063

pjbruin opened this issue Jul 4, 2020 · 67 comments

Comments

@pjbruin
Copy link
Contributor

pjbruin commented Jul 4, 2020

Upstream tarball: see upstream_url in build/pkgs/maxima/checksums.ini.

Previous update: #26625 Update maxima to 5.42.2

Follow-up bug: #30389

Depends on #22191

CC: @dimpase @kiwifb @timokau @saraedum @slel @antonio-rojas @kcrisman @nbruin @paulmasson

Component: packages: standard

Keywords: upgrade, maxima

Author: Matthias Koeppe, Thierry Monteil

Branch: 21e2fea

Reviewer: Emmanuel Charpentier, Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/30063

@pjbruin pjbruin added this to the sage-9.2 milestone Jul 4, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 6, 2020

Dependencies: #22191

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 6, 2020

Branch: u/mkoeppe/upgrade_maxima_to_5_44_0

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 6, 2020

Commit: abb763e

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 6, 2020

comment:3

Patches need to be removed or updated.


Last 10 new commits:

1d074e8doctest fixes
266d8c1backport ECL PR #210
12447bcreject old makeinfo
a3e0ecaadd upstream fix from MR 215
89b006badd the patch from upstream MR 214
0b77737add upstream MR 216 (to fix cygwin fork)
8ca1c0eMerge tag '9.2.beta2' into t/22191/public/packages/ecl20
f82c716Commit 75877dd8 from upstream
324869aMerge branch 'public/packages/ecl20' of git://trac.sagemath.org/sage into t/30063/upgrade_maxima_to_5_44_0
abb763ebuild/pkgs/maxima: Update to 5.44.0

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@slel

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

3db87adbuild/pkgs/maxima: Update to 5.44.0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Changed commit from abb763e to 3db87ad

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:8

Removing bugfix3629.patch, which is in 5.44.0

0001-taylor2-Avoid-blowing-the-stack-when-diff-expand-isn.patch does not apply. 5.44.0 has a different (simpler) change in this code.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

bcf3c98Remove old patches

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Changed commit from 3db87ad to bcf3c98

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:10

On macOS,

[maxima-5.44.0] /bin/bash /Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/local/var/tmp/sage/build/maxima-5.44.0/src/missing makeinfo --html -c TEXI2HTML=1 --split=chapter --document-lang=en --output=. --css-include=../../../doc/info/manual.css --init-file  ../../../doc/info/texi2html.init  xmaxima.texi
[maxima-5.44.0] makeinfo: invalid option -- c
[maxima-5.44.0] Try `makeinfo --help' for more information.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:11

This is /usr/bin/makeinfo

$ makeinfo --version
makeinfo (GNU texinfo) 4.8

Copyright (C) 2004 Free Software Foundation, Inc.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Changed commit from bcf3c98 to 07aa2f9

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 19, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

07aa2f9build/pkgs/maxima/spkg-install.in: New workaround for makeinfo trouble

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:13

Builds OK now on macOS. Haven't tested anything else

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:14

Tests run at https://github.com/mkoeppe/sage/actions/runs/174422230

@dimpase
Copy link
Member

dimpase commented Jul 19, 2020

comment:15

Replying to @sagetrac-git:

Branch pushed to git repo; I updated commit sha1. New commits:

07aa2f9build/pkgs/maxima/spkg-install.in: New workaround for makeinfo trouble

don't they have an option not to build docs?

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 19, 2020

comment:16

Unfortunately they don't.

@antonio-rojas
Copy link
Contributor

comment:17

These are the test failures I get downstream (using system maxima):

**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/interfaces/maxima_abstract.py", line 225, in sage.interfaces.maxima_abstract.MaximaAbstract.example
Failed example:
    maxima.example('arrays')
Expected:
    a[n]:=n*a[n-1]
                                    a  := n a
                                     n       n - 1
    a[0]:1
    a[5]
                                          120
    a[n]:=n
    a[6]
                                           6
    a[4]
                                          24
                                         done
Got:
                                     n       n - 1
    a[0]:1
    a[5]
                                          120
    a[n]:=n
    a[6]
                                           6
    a[4]
                                          24
                                         done
    <BLANKLINE>
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/interfaces/maxima_abstract.py", line 283, in sage.interfaces.maxima_abstract.MaximaAbstract.completions
Failed example:
    sorted(maxima.completions('gc', verbose=False))
Expected:
    ['gcd', 'gcdex', 'gcfactor', 'gctime']
Got:
    ['gcd', 'gcd\\-impl', 'gcdex', 'gcfactor', 'gcfactor\\-impl', 'gctime']
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/symbolic/expression.pyx", line 10031, in sage.symbolic.expression.Expression.simplify_hypergeometric
Failed example:
    hypergeometric_M(1, 3, x).simplify_hypergeometric()
Expected:
    -2*(x - e^x + 1)/x^2
Got:
    2*e^x*gamma_incomplete_lower(2, x)/x^2
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/symbolic/integration/integral.py", line 864, in sage.symbolic.integration.integral.integrate
Failed example:
    a = integral(log(cot(x) - 1), x, 0, pi/4); a  # long time (about 6 s)
Expected:
    -1/4*pi*log(2) - 1/2*I*dilog(I + 1) + 1/2*I*dilog(-I + 1) + 1/2*I*dilog(1/2*I + 1/2) - 1/2*I*dilog(-1/2*I + 1/2)
Got:
    1/4*pi*(I*pi + log(2)) - 1/2*pi*log(2) - 1/2*I*dilog(I + 1) + 1/2*I*dilog(-I + 1) + 1/2*I*dilog(1/2*I + 1/2) - 1/2*I*dilog(-1/2*I + 1/2)
**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/symbolic/integration/integral.py", line 866, in sage.symbolic.integration.integral.integrate
Failed example:
    abs(N(a - pi*log(2)/8)) < 1e-15  # long time
Expected:
    True
Got:
    False
**********************************************************************

The first one needs a readjustment of the number of removed lines in https://github.com/sagemath/sagetrac-mirror/blob/develop/src/sage/interfaces/maxima_abstract.py#n183

The ones in integration/integral.py are a known upstream issue since 5.43. The corresponding tests in maxima are disabled as known to fail, so maybe they can be tagged as known bug here.

The other two seem harmless.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2020

Changed commit from 07aa2f9 to 046634d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

046634dsage.interfaces.maxima_abstract.MaximaAbstract._command_runner: Skip all comment lines, rather than counting lines to skip

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 20, 2020

comment:19

Replying to @antonio-rojas:

The first one needs a readjustment of the number of removed lines in https://github.com/sagemath/sagetrac-mirror/blob/develop/src/sage/interfaces/maxima_abstract.py#n183

I have fixed the first one by a method that I hope to be more robust.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 20, 2020

comment:20

Replying to @antonio-rojas:

These are the test failures I get downstream (using system maxima):

**********************************************************************
File "/usr/lib/python3.8/site-packages/sage/interfaces/maxima_abstract.py", line 283, in sage.interfaces.maxima_abstract.MaximaAbstract.completions
Failed example:
    sorted(maxima.completions('gc', verbose=False))
Expected:
    ['gcd', 'gcdex', 'gcfactor', 'gctime']
Got:
    ['gcd', 'gcd\\-impl', 'gcdex', 'gcfactor', 'gcfactor\\-impl', 'gctime']
**********************************************************************

This is now https://sourceforge.net/p/maxima/bugs/3643/

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2020

Changed commit from 046634d to d1ad8d7

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 20, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

d1ad8d7sage.interfaces.maxima_abstract.MaximaAbstract.completions: Remove '-impl' functions

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 14, 2020

Reviewer: Emmanuel Charpentier

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 14, 2020

comment:44

Adding my name (as I should have initially...), but keeping it at needs_review.

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 14, 2020

comment:45

Replying to @mkoeppe:

Also, this ticket should undergo portability testing before it should be set to "positive review".

I agree. But trac lacks a state of tentative_positive_review, which should be useful in similar situations (i. e. code changes with (known|potential) platform issues...).

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 14, 2020

comment:46

Replying to @seblabbe:

Reviewer name is missing, I am changing to needs work before the release manager needs to do it.

Damn ! I keep forgetting this. Old age ? Incipient Alzheimer's ?

Done, anyway.

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 14, 2020

Changed reviewer from Emmanuel Charpentier to Emmanuel Charpentier, github.com/mkoeppe/sage/actions/runs/208788708, github.com/mkoeppe/sage/actions/runs/208788707

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 15, 2020

comment:48

All clean on debian and ubuntu, waiting for more results

@pjbruin
Copy link
Contributor Author

pjbruin commented Aug 15, 2020

comment:49

Replying to @sagetrac-tmonteil:

I was working on upgrading Maxima too (as i did not see that ticket), so while i am not a symbolics expert, i fixed the gamma_incomplete_lower issue: that function was called gamma_greek by Maxima before.

Nice solution!

I also marked the intergration regression as known bug.

Would it be worth finding out when this regression was introduced in Maxima and try to add a patch to fix it?

@dimpase
Copy link
Member

dimpase commented Aug 15, 2020

comment:50

Replying to @mkoeppe:

Replying to @EmmanuelCharpentier:

./configure should :

  • suggest the installation of the relevant packages for older versions (recompiling the gcc smalah takes a geological age or two...), and
  • suggest reconfiguring with the relevant arguments.

Where should this ... be usefully posted ?

Try #29586 (Improve configure's recommendations). It would be helpful to include the messages that configure prints on your system, and to explain what is missing.

I would change the default ./configure outcomes of not finding gcc, gfortran, gmp, etc to Error.
(which can be overridden by specifying explicit options)

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Aug 19, 2020

comment:51

Replying to @pjbruin:

Replying to @sagetrac-tmonteil:

I was working on upgrading Maxima too (as i did not see that ticket), so while i am not a symbolics expert, i fixed the gamma_incomplete_lower issue: that function was called gamma_greek by Maxima before.

Nice solution!

I also marked the intergration regression as known bug.

Would it be worth finding out when this regression was introduced in Maxima and try to add a patch to fix it?

It goes far beyond my skills, as i never wrote a single line of lisp.

The best i can do is to report the regression upstream and follow its evolution to untag the corresponding doctest once it is fixed. I am not sure this regression should prevent us to update Maxima.

@kcrisman
Copy link
Member

comment:52

The best i can do is to report the regression upstream and follow its evolution to untag the corresponding doctest once it is fixed. I am not sure this regression should prevent us to update Maxima.

You can also open a new ticket for tracking that upstream report so we don't lose it (as opposed to only noticing the doctest change if Maxima fixes this, if anyone even tests the "known bug" doctests much). I agree that if there is significant improvement introduced, then in practice we have often upgraded on a utilitarian view of things.

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Aug 19, 2020

comment:53

Replying to @kcrisman:

The best i can do is to report the regression upstream and follow its evolution to untag the corresponding doctest once it is fixed. I am not sure this regression should prevent us to update Maxima.

You can also open a new ticket for tracking that upstream report so we don't lose it (as opposed to only noticing the doctest change if Maxima fixes this, if anyone even tests the "known bug" doctests much). I agree that if there is significant improvement introduced, then in practice we have often upgraded on a utilitarian view of things.

Follow-up for tracking this issue: #30389

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 19, 2020

comment:54

Replying to @kcrisman:

The best i can do is to report the regression upstream and follow its evolution to untag the corresponding doctest once it is fixed. I am not sure this regression should prevent us to update Maxima.

You can also open a new ticket for tracking that upstream report so we don't lose it (as opposed to only noticing the doctest change if Maxima fixes this, if anyone even tests the "known bug" doctests much). I agree that if there is significant improvement introduced, then in practice we have often upgraded on a utilitarian view of things.

Possibly related : #30379 and the fossil tickets mentioned therein...

@EmmanuelCharpentier
Copy link
Mannequin

EmmanuelCharpentier mannequin commented Aug 19, 2020

comment:55

Replying to @mkoeppe:

All clean on debian and ubuntu, waiting for more results

FWIW, worked again in upgrading to 9.2.beta9.

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 19, 2020

Changed reviewer from Emmanuel Charpentier, github.com/mkoeppe/sage/actions/runs/208788708, github.com/mkoeppe/sage/actions/runs/208788707 to Emmanuel Charpentier, Matthias Koeppe

@slel
Copy link
Member

slel commented Aug 19, 2020

Changed keywords from none to upgrade, maxima

@slel

This comment has been minimized.

@slel slel changed the title Upgrade Maxima to 5.44.0 Upgrade: Maxima 5.44.0 Aug 19, 2020
@vbraun
Copy link
Member

vbraun commented Aug 20, 2020

Changed branch from u/tmonteil/upgrade_maxima_to_5_44_0 to 21e2fea

@sagetrac-tmonteil
Copy link
Mannequin

sagetrac-tmonteil mannequin commented Aug 24, 2020

Changed commit from 21e2fea to none

@sagetrac-tmonteil

This comment has been minimized.

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

No branches or pull requests

8 participants