Maxima: Compiling with gcl, cmucl, sbcl, clisp.



C. Frangos writes:
> Due to a disk crash I am trying to compile Maxima 5.12 (and earlier versions) 
> using gcl, sbcl and cmucl on suse 9.1 (32 bit) and suse 10.1 (64 bit) systems.
> 
> Any assistance with the following would be much appreciated:
> 
> 
> (1) I installed sbcl on suse 10.1, 64 bit and used it to compile maxima 5.12, 
> but am getting the following error:
> 
> cfrangos at omega:~/gnu> sbcl
> mmap: Cannot allocate memory
> ensure_space: failed to validate 8589869056 bytes at 0x1000000000
> (hint: Try "ulimit -a"; maybe you should increase memory limits.)
> 
> The command: ulimit -v 8600000,  solves the problem  using bash but I do not 
> know the equivalent command for tcsh, which is what I use.
AFAIK similar command in tcsh is 'limit' but I don't ask about details
for I don't use c-shell.

> (The above memory allocation error does not appear with sbcl installed on 
> suse 9.1, 32 bit).
> 

No surprise. On 64 bit sbcl allocates about 8.5Gb of virtual memory
while on 32 bit it allocates just about 1.5Gb.

> If I enter the full path then Maxima 5.12 sbcl starts correctly (using bash 
> and tcsh). However, at the Maxima prompt I cannot recall the previous 
> instructions using the arrow keys. Not clear how to remedy this.

If properly installed Maxima comes with special script rmaxima
which is just maxima+line editing capabilities and can be used
in combination with cmucl and sbcl version of Maxima.
rmaxima requires rlwrap.

If you want to install maxima into /home/apps make the following:

1. Make sure that /home/apps/bin directory is permanently in your path
so any command /home/apps/bin/foo can be started by typing foo
without full path to it.

2. Install any lisp (gcl, sbcl, clisp, cmucl) and verify that it
can be invoked by appropriate command (gcl, sbcl, clisp, lisp 
respectively).   E.g. they may be installed in /home/apps
(cmucl's lisp command goes into /home/apps/bin etc).

3.  Configure, build, and install Maxima:

   3.1.    > ./configure --prefix=/home/apps --enable-gcl \
                 --enable-clisp --enable-sbcl --enable-cmucl
          Here set of "enabled" lisps may vary depending on your
          setup.
   3.2.    > make
   3.3.    > make install

After this you should find executable scripts /home/apps/bin/maxima
and /home/apps/bin/rmaxima and you should be able to start Maxima
by just typing > maxima -l <lisp>.

Maxima 5.9.0 doesn't support sbcl. No way, sorry.
Besides 5.9.0 is terribly old.  Don't use it.
I strongly recommend to use latest 5.12.0.

clisp 2.30 has serious errors and due to these
errors isn't compatible with Maxima.

I'm not sure why gcl build fails.  gcl has several build
options and playing with them may help but it is better
to ask on gcl mailing list.

-- 
      Vadim V. Zhytnikov

       <vvzhy at mail.ru>
      <vvzhy at netorn.ru>