[Ecls-list] building maxima

Paul Bowyer pbowyer at olynet.com
Sat Feb 4 04:21:17 UTC 2012


Juanjo:

I was able to build Maxima successfully with ECL using the same source I 
began with after you provided your fix for the make problem. I modified 
one file, maxima/src/numerical/slatec/xerprn.lisp to get past the make 
error due to f2cl.

I ran the Maxima test suite using the ECL runtime and a couple of errors 
showed up.

(%i1) build_info ();
(%o1)
Maxima version: "5.26.0_29_gbb0b0f7_dirty"
Maxima build date: "2012-02-03 17:22:01"
Host type: "i686-pc-linux-gnu"
Lisp implementation type: "ECL"
Lisp implementation version: "12.2.1"
(%i2) run_testsuite(display_all = true);

Error summary:
Errors found in 
/home/pfb/MaximaEclTest/share/maxima/5.26.0_29_gbb0b0f7_dirty/tests/rtest8.mac, 
problems:
(126 127)
2 tests failed out of 9,129 total tests.
real time : 986.144 secs
run time  : 61.928 secs
gc count  : 1696 times
consed    : 18258657036 bytes
(%o0)                                done

The failed tests output:
********************** Problem 126 ***************
Input:
                  1                                       2
(f : diff(----------------, a), g : quad_qags(f b (1 - b) , b, 0, 1) ,
                  2                                                  1
           (a - b)  + 1 + 1
                                                      find_root(g = 0, 
a, 0, 1))


Result:
                                          2
                                 2 (1 - b)  (a - b) b
find_root(subscript(quad_qags(- --------------------, b, 0, 1, epsrel = 
1.e-8,
                                           2     2
                                   ((a - b)  + 2)
                epsabs = 0.0, limit = 200), 1) = 0, a, 
.3980373668760611, 0.375)

This differed from the expected result:
.3978613590133817

********************** Problem 127 ***************
Input:
                  1                                       2
(f : diff(----------------, a), g : quad_qags(f b (1 - b) , b, 0, 1) ,
                  2                                                  1
           (a - b)  + 1 + 1
                                                      find_root(g = 0, 
a, 0, 1))


Result:
                                2
                       2 (1 - b)  (a - b) b
find_root(quad_qags(- --------------------, b, 0, 1)  = 0, a,
                                 2     2
                         ((a - b)  + 2)
                                                     1
                                                       
.3980373668760611, 0.375)

This differed from the expected result:
.3978613590133817


As a comparison I also ran the Maxima test suite using the GCL runtime. 
This is not meant to imply that GCL is better than ECL, but just to show 
that the Maxima test suite completes successfully without unexpected 
errors for some Lisps.

(%i1) build_info ();
Maxima version: 5.26.0_26_gc4216e7
Maxima build date: 18:30 1/28/2012
Host type: i686-pc-linux-gnu
Lisp implementation type: GNU Common Lisp (GCL)
Lisp implementation version: GCL 2.6.8

(%o1)
(%i2) run_testsuite(display_all = true);

No unexpected errors found out of 9,129 tests.
real time       :    393.470 secs
run-gbc time    :     57.710 secs
child run time  :      1.550 secs
gbc time        :      6.000 secs
(%o0)                                done

I hope this helps ECL and Maxima in some way,

Paul





More information about the ecl-devel mailing list