Static installs



James Amundson ÐÉÛÅÔ:
> I have recently checked code into cvs to support static installs under
> Clisp and CMUCL. By static install, I mean that support files from the
> lisp implementation are copied into the maxima directory structure.
> Installed maxima no longer depends on the external lisp files. (GCL
> installs have always had this property.) The additional disk space used
> is insignificant compared to the Maxima files.
> 
> Static installs allow lisp developers to update their lisp installations
> without worrying about breaking an installed Maxima version. (This
> problem has bitten me.) They also allow binary packages to be
> distributed without external lisp dependencies.
> 
> The build system does some funky things to guess the locations of the
> required lisp files. I would appreciate hearing positive and negative
> experiences with the new installation code.
> 
> --Jim
> 

Very nice feature!

But I have troubles with cmucl 18e.  Nothing critical since
right --with-cmucl-runtime does the trick but anyway JFYI.

If I just do bare ./configure --enable-cmucl I immediately
get an error:

checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
CMUCL_RUNTIME_PATH =
/home/vadim/work/maxima/./.:/home/vadim/work/maxima/./../lib/cmucl/lib:/home/vadim/work/maxima/./../lib:/usr/lib/cmucl/lib:/usr/local/lib/cmucl/lib/../bin/lisp
checking for lisp... true
checking for lisp... (cached) true
configure: error: cmucl runtime
"/home/vadim/work/maxima/./.:/home/vadim/work/maxima/./../lib/cmucl/lib:/home/vadim/work/maxima/./../lib:/usr/lib/cmucl/lib:/usr/local/lib/cmucl/lib/../bin/lisp" 

is not an executable

My cmucl 18e is a bit unstandard.  It is not binary release
distributed on cmucl sites.  It was build from scratch
and packaged as rpm.  The directories layout is a bit unstandard:
/usr/bin/lisp for main executable and /usr/lib/cmucl for
lisp image etc.  It works fine for me in particular
with maxima old build scheme.  Notice that *cmucl-lib*
gives for me list of directories

[vadim@proxl work]$ lisp
CMU Common Lisp 18e, running on proxl
With core: /usr/lib/cmucl/lib/lisp.core
Dumped on: Tue, 2003-09-09 17:57:03+04:00 on proxl
See <http://www.cons.org/cmucl/>; for support information.
Loaded subsystems:
     Python 1.1, target Intel x86
     CLOS 18e (based on PCL September 16 92 PCL (f))
* cl::*cmucl-lib*

"/home/vadim/work/./.:/home/vadim/work/./../lib/cmucl/lib:/home/vadim/work/./../lib:/usr/lib/cmucl/lib:/usr/local/lib/cmucl/lib"
*

First three items depends on pwd.

Anyway
  --with-runtime-path=/usr/bin/lisp
resolves the problem.

Can't we just use which for cmucl runtime?

CMUCL_RUNTIME_PATH=`which lisp`

-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>