[LON-CAPA-admin] 2.4.0 Maxima issues

Stuart Peter Raeburn raeburn at msu.edu
Tue Jun 12 15:15:46 EDT 2007

Hi Stefan, 

Thank you for your question about maxima. 

If you can let me know which versions of maxima, maxima-runtime-gcl, 
perl-Expect and perl-IO-Tty you have installed I can see if I can replicate 
the behavior you describe, using my FC5 testing servers here. Are you using 
a 32 or 64 bit server? 

On the Fedora FC5 servers I have tested (both 32 bit and 64 bit) all three 
of the examples included in the LON-CAPA problem templates, which make use 
of maxima, result in the following message: 

"You are correct. Computer's answer now shown above." 

in CSTR, when the correct answers are submitted. 

The rpms installed for FC5 are as follows:

This also worked correctly on my FC5 test servers with the language 
preference set to German, as the following message was displayed:
"Korrekt! Die als richtig hinterlegte Antwort wird oben angezeigt." 

The rpms used are the ones available from standard FC5 repositories for 
fedora-core and fedora-extras.  In testing earlier this month, problems 
which make use of lonmaxima to evaluate submissions did not work correctly 
for older versions of perl-IO-Tty (version 1.02), or maxima (version 5.9.1), 
 - at least under SuSE 9.3/SLES 9. 

The different Linux distributions for which LON-CAPA is currently supported: 
 - SLES, SuSE, Red Hat and Fedora - use different lisp runtimes. A decision 
was taken to make use of packages provided in the standard core repositories 
as much as possible, for each distribution.  An alternative would have been 
to standardize on a single maxima/lisp runtime and build custom packages for 
each distribution/architecture (according to that recipe) where they differ 
from those available from the standard core and/or extras repositories.  The 
question then would be which lisp to adopt (gcl, sbcl, clisp, or cmucl) when 
building the corresponding maxima runtime rpms.  Documentation on which lisp 
works best with LON-CAPA across all distros would be helpful in this regard. 

The LONCAPA-prerequisites package for each distribution/architecture 
establishes which maxima runtime should be used in each instance.  This is 
as follows: 

FC4 maxima-5.9.3-5, maxima-runtime-gcl (32 bit only)
FC5 maxima-5.11.0-8, maxima-runtime-gcl
FC6 maxima-5.11.0-8, maxima-runtime-gcl
FC7 maxima-5.12.0-1, maxima-runtime-gcl
RHEL4 maxima-5.12.0, maxima-exec-gcl
RHEL5 maxima-5.11.0-8, maxima-runtime-sbcl, sbcl
SuSE 9.3 maxima-5.11.0-2.4, maxima-exec-clisp
Suse 10.1 maxima-5.11.0-2.4, maxima-exec-clisp
SuSE 10.2 maxima-5.11.0-2.4, maxima-exec-clisp
SLES9 maxima-, maxima-exec-clisp
SLES10 maxima-, maxima-exec-clisp 

The versions of perl-Expect and perl-IO-Tty used with each distribution are 
determined by the versions available in the core repository for the distro, 
unless perl-IO-Tty is older than version 1.05, in which case a custom 
version 1.07 has been provided for the distro in the repository maintained 
on install.loncapa.org.  Intallation of the LONCAPA-prerequisites rpm should 
enforce use of a post-1.04 version. 

In terms of troubleshooting maxima issues on a particular 
distro/architecture the first thing to do would be check that maxima 
evaluates expressions correctly at the command line. I typically use the 
following test: 

$ maxima
(%i1) factor(x^2-1);
(%o1)                           (x - 1) (x + 1)
(%i2) quit(); 

The next thing to check are the versions of perl-Expect and perl-IO-Tty 
which you are using: 

rpm -q perl-Expect
rpm -q perl-IO-Tty 

Lastly you can enable debugging output in /home/httpd/perl/lonmaxima by 
removing the # which comments out line 250
 -  #$command->log_file("$execdir/logs/lonmaxima.session.log");
+  $command->log_file("$execdir/logs/lonmaxima.session.log"); 

and restarting loncontrol.  This will cause all maxima transactions to be 
written to: /home/httpd/perl/logs/lonmaxima.session.log 

You may find as a result of this that the maxima output looks correct, which 
woukld indicate a problem with parsing of the output by Expect.pm 

> We are concerned that the old issues with wrong lisp version, Expect.pm
> etc. still might exist.

There have been a number of changes to lonmaxima to address issues 
previously seen with Expect.pm in January and February -- see 
http://loncapa.msu.edu/cgi-bin/cvsweb.cgi/loncom/lonmaxima for a complete 
history), so the issue you report may have a different cause to the "old 
issues" you mention.  I am curious what you mean by the "wrong" lisp 
version.  Was a particular lisp version previously identified as reponsible 
for specific issues when using Expect.pm? 

Stuart Raeburn


Stefan Bisitz writes: 

> Hi there, 
>> New Version 2.4.0
>> - computer algebra system maxima available to homeowkr problems,
>>    - added tags <mathresponse> <mathhint> to use maxima for grading
>>    - <formularesponse> without sample points uses maxima to grade formulas
> Happy to read this but this doesn't work on our server :-( 
> We installed LON-CAPA 2.4.0 on our Fedora 5 server and checked the new
> problem templates. All these problems which use maxima are NOT working: 
> 1) Formula Response using Computer Algebra System:
> ERROR:Computer's answer is incorrect ("5*a*x^4"). 
> 2) Formula Response using Computer Algebra System and Hints:
> ERROR:Computer's answer is incorrect ("16t^3,42t^6"). 
> 3) Math Response using Computer Algebra System and Hints:
> Enter "x"
> Feedback message: "Unable to understand formula" 
> Maxima details (called maxima via shell):
> Maxima 5.11.0 http://maxima.sourceforge.net
> Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL) 
> We are concerned that the old issues with wrong lisp version, Expect.pm
> etc. still might exist.
> What do you think? What do you know? 
> Stefan Bisitz and Peter Riegler 
> _______________________________________________
> LON-CAPA-admin mailing list
> LON-CAPA-admin at mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin 

More information about the LON-CAPA-admin mailing list