Build system, take 2



Raymond Toy <toy.raymond at gmail.com> writes:
>>>>>> "Rupert" == Rupert Swarbrick <rswarbrick at gmail.com> writes:
>     Rupert> [If you don't care that much, and just want to check I
>     Rupert> haven't broken your build, skip down to the line of stars]
>
> I'll test this soon.

Thanks!

> I think we should do all or nothing.  Leave things as they are, or
> drop "official" support for a lisp-only build.  A "half-way" solution
> is just more work.

Well, I suspect it's clear what my preference is :-)

>     Rupert> Second question: Why are we installing copies of the lisp
>     Rupert> implementation? At the moment, the install targets for
>     Rupert> Clisp and SCL both make copies of the lisp implementation
>     Rupert> and stick them in the installation directory. The CMUCL
>     Rupert> and SBCL targets try/tried to do this, but for SBCL, at
>     Rupert> least, we don't do it right.
>
>     Rupert> Is there a reason for this behaviour? I see legality
>     Rupert> issues with SCL
>
> Yes.  For cmucl and sbcl, the maxima.core file is pretty specific to
> the version that was used to create it.  You can't load up the
> maxima.core with an arbitrary version.  Sometimes, it fails outright,
> but other times it looks like it's working but it the breakage shows
> up in subtle ways.
>
> I would think this is also true for the other lisps, except gcl (and
> ecl?) where you get a complete executable.  But cmucl and sbcl can
> also create executables, so you could install the executable instead
> of maxima.core and the lisp runtime.

Yep, but I don't think this can possibly work. For SBCL, where I know a
little bit about what's going on, you don't only need a matching SBCL
but also the contents of $SBCL_HOME have to match (a load of .fasl
files, which don't all get loaded immediately, I think). Since we don't
copy all of these, we're doomed to failure anyway so I don't think we
should be bothering trying to copy the executable.

I don't know about the situation with eg. SCL.

>     Rupert> (having just had the pleasure of reading their licence
>     Rupert> document). And on SBCL/CMUCL, this is completely silly
>     Rupert> since none of the required support files for the
>     Rupert> implementation get installed. Is anyone using this?
>
> On the rare occasions that I actually install, I am using this
> feature.  I see, though that with cmucl I get a warning about the
> startup code not matching the core version.  A bug perhaps?

On CMUCL, we currently install src/lisp, which is a shell script with
the following contents:

  #!/bin/sh
  # -*- Shell-script -*-

  # Run cmucl.
  exec  "$@"

I don't think that's going to solve any binary versioning problems :-)

Rupert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: not available
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20130318/a3c3a3f0/attachment.pgp>;