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 to 5.29.1 #13364

Closed
kcrisman opened this issue Aug 14, 2012 · 142 comments
Closed

Upgrade Maxima to 5.29.1 #13364

kcrisman opened this issue Aug 14, 2012 · 142 comments

Comments

@kcrisman
Copy link
Member

Message: 5
Date: Sun, 12 Aug 2012 23:18:05 +0000 (UTC)
From: Robert Dodier <[email protected]>
To: [email protected]
Subject: [Maxima] Maxima 5.28.0 release
Message-ID: <[email protected]>

Hi, I've created branch-5_28 in Git and tagged branch-5_28-base and
5.28.0. I've created tar.gz, srpm, and rpm's and uploaded them to the
SourceForge file manager. (http://sourceforge.net/projects/maxima/files)

The new spkg is for ECL 11 as well as for ECL 12, i.e. ASDF-agnostic, along the lines of maxima 5.26.0 at #13860. Moreover it has
an upstream patch preventing segfaults. This fixes few tickets.

Install http://boxen.math.washington.edu/home/jdemeyer/spkg/maxima-5.29.1.p1.spkg

Apply

Upstream: Reported upstream. Developers acknowledge bug.

CC: @jpflori @dimpase @nbruin @zimmermann6

Component: packages: standard

Keywords: maxima spkg

Author: Jean-Pierre Flori, Dmitrii Pasechnik

Reviewer: Karl-Dieter Crisman, François Bissey, Leif Leonhardy, Paul Zimmermann

Merged: sage-5.7.beta0

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

@kiwifb
Copy link
Member

kiwifb commented Aug 14, 2012

comment:1

From my test with 5.27.0 that will break a number of things.... The interface to a number of functions changed and requires extra arguments which throws things all over the place of course.

@kcrisman
Copy link
Member Author

comment:2

True. I just opened this in order to have a ticket for it at all; I couldn't find one for 5.27 update alone (as opposed to things noting that 5.27 would fix various things) so I opened this. Feel free to close it if it's a dup.

@kiwifb
Copy link
Member

kiwifb commented Aug 15, 2012

comment:3

No duplicate that I know off. May be an opportunity to update ecl as well, 12.2.1 works well with a few tweaks. 12.7.1 seems to have issues see #12985.

@kcrisman
Copy link
Member Author

kcrisman commented Dec 5, 2012

comment:4

The newest Maxima is now 5.29. Ugrading ECL is #13324 and hopefully will have positive review soon.

@kcrisman kcrisman changed the title Upgrade Maxima to 5.28 Upgrade Maxima to latest upstream release Dec 5, 2012
@jpflori
Copy link

jpflori commented Dec 14, 2012

comment:5

We'll have to make some change to spkg-install when ECL >= 12.12.1 gets in.
See
#13324 comment:77

I'm waiting for more info from upstream ECL on this change.

@jpflori
Copy link

jpflori commented Dec 14, 2012

Changed keywords from none to maxima spkg

@jpflori
Copy link

jpflori commented Dec 14, 2012

comment:7

Here comes a 5.29.1 spkg at
http://boxen.math.washington.edu/home/jpflori/maxima-5.29.1.p0.spkg

It builds and runs and passes most tests in sage/calculus on Linux.
Some tests fails because Maxima adds ? in some strings in calculus.py.

@jpflori
Copy link

jpflori commented Dec 14, 2012

Work Issues: fix doctets

@jpflori jpflori changed the title Upgrade Maxima to latest upstream release Upgrade Maxima to 5.29.1 Dec 14, 2012
@kcrisman
Copy link
Member Author

comment:9

Your spkg diff for the readme says that you removed a patch, but I don't see that in the diff. But we track the patches directory, right?

@jpflori
Copy link

jpflori commented Dec 14, 2012

comment:10

Yup, I forgot to run hg addremove.

@jpflori
Copy link

jpflori commented Dec 14, 2012

comment:11

It also seems Maxima does not integrate sqrt(x + sqrt(x)) anymore, maybe that needs assumptions which were incorectly assumed before, don't want to think about that now.

@kcrisman
Copy link
Member Author

comment:12

Yes, don't worry about this now, as François has put a lot of time into cataloguing things anyway on some sage-devel discussion a while ago.

@jpflori
Copy link

jpflori commented Dec 14, 2012

comment:13

Could you provide a link to that discussion?

@kcrisman
Copy link
Member Author

comment:14

No, it's too old, I'm not sure how to find it. It wasn't part of a thread only about this, I think. François, do you remember?

@kiwifb
Copy link
Member

kiwifb commented Dec 14, 2012

comment:15

Haven't tried 5.29.1 only 5.28 after it came out. I remember that a number of function now require an extra argument (an assumption) as you have found out. But I haven't looked at it in a long time. I'll check what I can find.

@kiwifb
Copy link
Member

kiwifb commented Dec 14, 2012

comment:16

Actually I haven't done a report on upgrade that break things badly for a little while. You may remember a report from a long time ago. I don't have as much time to write those these days.

@kiwifb
Copy link
Member

kiwifb commented Dec 15, 2012

comment:17

Doing some tests with ecl 12.2.1+maxima 5.29.1 right now. I assume the target will be 12.12.1 /5.29.1 and enabling unicode in ecl if possible. Anyway I have a nasty

sage -t -long -verbose "devel/sage-main/sage/symbolic/integration/integral.py" # Killed/crashed

Probably ecl/maxima rather than pure maxima it goes in a panic

;;;
;;; Stack overflow.
;;; Jumping to the outermost toplevel prompt
;;;

for quite a bit before getting killed. The other interesting bits:

sage -t -long "devel/sage-main/sage/interfaces/maxima_abstract.py"
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_abstract.py", line 422:
    sage: maxima.version()
Expected:
    '5.26.0'
Got:
    '5.29.1'
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_abstract.py", line 2354:
    sage: maxima_version()
Expected:
    '5.26.0'
Got:
    '5.29.1'
**********************************************************************
2 items had failures:
   1 of   4 in __main__.example_13
   1 of   5 in __main__.example_84
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/fbissey/.sage/tmp/maxima_abstract_3312.py
         [7.4 s]
sage -t -long "devel/sage-main/sage/interfaces/maxima_lib.py"
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_lib.py", line 716:
    sage: integrate(sqrt(x + sqrt(x)), x).simplify_full()
Expected:
    1/12*sqrt(sqrt(x) + 1)*((8*x - 3)*x^(1/4) + 2*x^(3/4)) - 1/8*log(sqrt(sqrt(x) + 1) - x^(1/4)) + 1/8*log(sqrt(sqrt(x) + 1) + x^(1/4))
Got:
    integrate(sqrt(x + sqrt(x)), x)
#0: simplify_sum(expr='sum(q^k,k,0,inf))
#1: simplify_sum(expr=a*'sum(q^k,k,0,inf))
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_lib.py", line 819:
    sage: limit(x^a,x=0)
Expected:
    Traceback (most recent call last):
    ...
    ValueError: Computation failed since Maxima requested additional
    constraints; using the 'assume' command before limit evaluation
    *may* help (see `assume?` for more details)
    Is a an integer?
Got:
    Traceback (most recent call last):
      File "/usr/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_26[9]>", line 1, in <module>
        limit(x**a,x=Integer(0))###line 819:
    sage: limit(x^a,x=0)
      File "/usr/lib64/python2.7/site-packages/sage/calculus/calculus.py", line 1188, in limit
        l = maxima.sr_limit(ex, v, a)
      File "/usr/lib64/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 856, in sr_limit
        raise ValueError, "Computation failed since Maxima requested additional constraints; using the 'assume' command before limit evaluation *may* help (see `assume?` for more details)\n" + s
    ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before limit evaluation *may* help (see `assume?` for more details)
    Is a an ?integer?
**********************************************************************
2 items had failures:
   1 of  25 in __main__.example_24
   1 of  19 in __main__.example_26
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/fbissey/.sage/tmp/maxima_lib_3431.py
         [4.0 s]

it is not as bad as I remember but it is just pinpointing on some obvious tests right now.

@jpflori
Copy link

jpflori commented Dec 15, 2012

comment:18

Replying to @kiwifb:

Doing some tests with ecl 12.2.1+maxima 5.29.1 right now. I assume the target will be 12.12.1 /5.29.1 and enabling unicode in ecl if possible. Anyway I have a nasty

Yup 12.12.1 plus 5.29.1.
About the name changes I mentioned here and on #13324, I got upstream confimation it was expected and is not a problem, see
http://sourceforge.net/mailarchive/message.php?msg_id=30232028

I'd prefer to postpone Unicode and deal with it in let's say #12985, unless it is really trivial.

sage -t -long -verbose "devel/sage-main/sage/symbolic/integration/integral.py" # Killed/crashed

Probably ecl/maxima rather than pure maxima it goes in a panic

;;;
;;; Stack overflow.
;;; Jumping to the outermost toplevel prompt
;;;

Nice, I did not get that one though.

for quite a bit before getting killed. The other interesting bits:

sage -t -long "devel/sage-main/sage/interfaces/maxima_abstract.py"
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_abstract.py", line 422:
    sage: maxima.version()
Expected:
    '5.26.0'
Got:
    '5.29.1'
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_abstract.py", line 2354:
    sage: maxima_version()
Expected:
    '5.26.0'
Got:
    '5.29.1'
**********************************************************************
2 items had failures:
   1 of   4 in __main__.example_13
   1 of   5 in __main__.example_84
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/fbissey/.sage/tmp/maxima_abstract_3312.py
         [7.4 s]
sage -t -long "devel/sage-main/sage/interfaces/maxima_lib.py"
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_lib.py", line 716:
    sage: integrate(sqrt(x + sqrt(x)), x).simplify_full()
Expected:
    1/12*sqrt(sqrt(x) + 1)*((8*x - 3)*x^(1/4) + 2*x^(3/4)) - 1/8*log(sqrt(sqrt(x) + 1) - x^(1/4)) + 1/8*log(sqrt(sqrt(x) + 1) + x^(1/4))
Got:
    integrate(sqrt(x + sqrt(x)), x)
#0: simplify_sum(expr='sum(q^k,k,0,inf))
#1: simplify_sum(expr=a*'sum(q^k,k,0,inf))
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/interfaces/maxima_lib.py", line 819:
    sage: limit(x^a,x=0)
Expected:
    Traceback (most recent call last):
    ...
    ValueError: Computation failed since Maxima requested additional
    constraints; using the 'assume' command before limit evaluation
    *may* help (see `assume?` for more details)
    Is a an integer?
Got:
    Traceback (most recent call last):
      File "/usr/bin/ncadoctest.py", line 1231, in run_one_test
        self.run_one_example(test, example, filename, compileflags)
      File "/usr/bin/sagedoctest.py", line 38, in run_one_example
        OrigDocTestRunner.run_one_example(self, test, example, filename, compileflags)
      File "/usr/bin/ncadoctest.py", line 1172, in run_one_example
        compileflags, 1) in test.globs
      File "<doctest __main__.example_26[9]>", line 1, in <module>
        limit(x**a,x=Integer(0))###line 819:
    sage: limit(x^a,x=0)
      File "/usr/lib64/python2.7/site-packages/sage/calculus/calculus.py", line 1188, in limit
        l = maxima.sr_limit(ex, v, a)
      File "/usr/lib64/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 856, in sr_limit
        raise ValueError, "Computation failed since Maxima requested additional constraints; using the 'assume' command before limit evaluation *may* help (see `assume?` for more details)\n" + s
    ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before limit evaluation *may* help (see `assume?` for more details)
    Is a an ?integer?
**********************************************************************
2 items had failures:
   1 of  25 in __main__.example_24
   1 of  19 in __main__.example_26
***Test Failed*** 2 failures.
For whitespace errors, see the file /home/fbissey/.sage/tmp/maxima_lib_3431.py
         [4.0 s]

it is not as bad as I remember but it is just pinpointing on some obvious tests right now.

Got these ones and similar in other places.
Everything looked trivial to fix and consisted in:

  • version number changes,
  • integration which did nothing, surely the assumption stuff we mentioned here,
  • trivial simplification which was not done anymore, maybe a call to simplify could fix these,
  • the strange ? things.

@jpflori
Copy link

jpflori commented Dec 15, 2012

Dependencies: #13324

@jpflori
Copy link

jpflori commented Dec 15, 2012

Author: Jean-Pierre Flori

@jpflori
Copy link

jpflori commented Dec 15, 2012

Changed work issues from fix doctets to fix doctests, build with latest ECL

@nexttime
Copy link
Mannequin

nexttime mannequin commented Dec 15, 2012

comment:21

The Maxima spkg fails to build for me because makeinfo is missing... :-)

@nexttime
Copy link
Mannequin

nexttime mannequin commented Dec 15, 2012

comment:22

Ok, now the build "succeeded", although I get:

Now installing the Maxima library as '$SAGE_ROOT/local/lib/ecl//maxima.fas'...
cp: cannot stat `maxima.fasb': No such file or directory

real    18m37.266s
user    14m24.494s
sys     1m52.139s
Successfully installed maxima-5.29.1.p0
...

(I think this was already mentioned on the ECL ticket. Not sure how the new library is supposed to work when it doesn't get installed...)

I also get a couple of new warnings (w.r.t. Maxima 5.26.0 and the old ECL) like

;;; Compiling (DEFUN HAIPART ...).
;;; Warning:
;;;   in file clmacs.lisp, position 6071
;;;   at (DEFUN HAIPART ...)
;;;   ! Too few arguments for proclaimed function LOGAND

(I.e., 164/2 [I think] instances of "Too few arguments for proclaimed function LOGAND".)

@dimpase
Copy link
Member

dimpase commented Dec 15, 2012

comment:23

Replying to @nexttime:

Ok, now the build "succeeded", although I get:

Now installing the Maxima library as '$SAGE_ROOT/local/lib/ecl//maxima.fas'...
cp: cannot stat `maxima.fasb': No such file or directory

as far as I understand, the name might have changed, due to asdf changes in ECL.
It might be maxima-system.* rather than maxima.*

@jdemeyer
Copy link

jdemeyer commented Jan 8, 2013

Changed dependencies from #13324 to none

@jdemeyer
Copy link

jdemeyer commented Jan 8, 2013

comment:112

Replying to @nexttime:

Replying to @jdemeyer:

This ticket doesn't depend on #13324, as now both Maxima versions (5.26.0.p1 from #13860, and the 5.29.1.p1 from here) can cope with the new as well as the old ASDF naming scheme.

Then I was confused by a comment on #13324.

@kiwifb
Copy link
Member

kiwifb commented Jan 9, 2013

comment:113

Replying to @kcrisman:

Replying to @kiwifb:

Well it works but I am not sure we should patch exp_integral.py this way. The old result was to demonstrate that something was broken. We should change the comment to reflect that is fixed or find another broken example. By comment I mean this bit:

    Note that due to some problems with the way Maxima handles these
    expressions, definite integrals can sometimes give unexpected
    results (typically when using inexact endpoints) due to
    inconsistent branching::

That may be a bit pedantic however.

No, that's a good point actually. Thanks for volunteering to ask the Maxima list for such an example :-)

You are welcome, I guess :P

@jdemeyer
Copy link

comment:114

This spkg should be rebased to maxima-5.26.0.p1, it is currently based on maxima-5.26.0.p0.

@dimpase
Copy link
Member

dimpase commented Jan 10, 2013

comment:115

Replying to @jdemeyer:

This spkg should be rebased to maxima-5.26.0.p1, it is currently based on maxima-5.26.0.p0.

as far as I am concerned, maxima-5.26.0.p1 may just as well die. It would cost me half an hour of fooling around with hg, with 0 benefit for anything.

@jdemeyer
Copy link

comment:116

Replying to @dimpase:

0 benefit for anything.

So all the changes in #13860 were completely pointless then?

@dimpase
Copy link
Member

dimpase commented Jan 10, 2013

comment:117

Replying to @jdemeyer:

Replying to @dimpase:

0 benefit for anything.

So all the changes in #13860 were completely pointless then?

When I worked on #13860 it was not clear that the current ticket can be done so fast.

The changes on #13860 are all basically repeated, in a slightly different way, on this ticket. Due to our scheme of working on packages it wasn't trivial to properly merge the changes, so I just copy/pasted from source.

@jdemeyer
Copy link

comment:118

OK, I rebased. diff attached.

I also renamed spkg-dist to spkg-src since the former name should be reserved for scripts which create a spkg.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

spkg diff, for review only

@jpflori
Copy link

jpflori commented Jan 10, 2013

comment:120

Attachment: maxima-5.29.1.p1.diff.gz

@dimpase
Copy link
Member

dimpase commented Jan 10, 2013

comment:121

Replying to @jdemeyer:

OK, I rebased. diff attached.

I also renamed spkg-dist to spkg-src since the former name should be reserved for scripts which create a spkg.

dank u wel!

@kcrisman
Copy link
Member Author

comment:122

I also renamed spkg-dist to spkg-src since the former name should be reserved for scripts which create a spkg.

dank u wel!

Agreed!

@dimpase
Copy link
Member

dimpase commented Jan 19, 2013

comment:123

I've opened #13973 to deal with including the latest upstream patches.

@kcrisman
Copy link
Member Author

comment:124

Here are some tickets the current ticket should fix (i.e., they just need a patch to doctest it). Not that I've tried them, just that in theory they are in 5.29.1. Unfortunately, so far I only found these two...

@jdemeyer
Copy link

Merged: sage-5.7.beta0

@kcrisman
Copy link
Member Author

comment:126

Note that this commit in Maxima apparently fixes one of the problems in question.

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

6 participants