[plt-scheme] small, static, mzscheme executable?

From: Mike Eggleston (mikeegg1 at me.com)
Date: Tue Jan 20 16:55:55 EST 2009

On Tue, 20 Jan 2009, Eli Barzilay might have said:

> On Jan 20, Mike Eggleston wrote:
> > Morning,
> > 
> > In the mzscheme distribtion is there a single, small, static
> > executable that I can copy to my various platforms? My interest in
> > this question is deciding if mzscheme is a candidate for developing
> > a management system like cfengine(8). My platforms include windows
> > xp, windows vista (32 and 64), mac os x, flavors of linux, and
> > flavors of unix.
> > 
> > If there is a small executable, but no static executable, is there a
> > procedure in mzscheme to create a static executable? I'm trying to
> > limit what I install on these various boxes.
> 
> Not directly an answer, but I think that it will be much easier to
> just use the complete directories.  Some related details and comments:
> 
> * The OSX installer is essentially a directory that you can drag and
>   drop anywhere in the system.  The Windows installer does the usual
>   start menu shortcut, and various registry keys -- but ignoring
>   these, the resulting directory can also be moved anywhere you want.
>   The Unix installers give you a choice for a "unix-style"
>   installation (spread according to the FHS) or a single directory
>   which can be moved around.
> 
>   -- The bottom line is that you can get a single directory for each
>      platform that can be placed anywhere in the system.
> 
> * Since you're interested in MzScheme only, things are even easier.
>   (For example, the Windows installer is basically just creating the
>   directory and does none of the rest.)
> 
> * The executables do rely on some usual C libraries (but it seems that
>   you're not concerned about that).
> 
> * There shouldn't be any modifications on any other part of the
>   system.  The only possible exception is the users $HOME/.plt-scheme
>   (different directory on OSX/Windows) which is used for things like
>   preferences and planet.  Given no gui, and if you won't use planet,
>   you're likely not going to get anything there too.
> 
> * As another point of reference, you can see our "pre-installers"
>   (they are available for the nightly builds at pre.plt-scheme.org,
>   and I can also make the pre-installers of the official release
>   available).  These are all tgz archives of the PLT trees that can
>   simply work anywhere you drop them.  (They are one step before last,
>   when they're converted into the various installers.)
> 
> * Note that the MzScheme distribution is intended for a server
>   situation and not much else.  It will be a good idea to have the
>   normal installation on the machine you actually use.
> 
> * (BTW, I used mzscheme several times to distribute batch jobs to a
>   compute cluster -- and things tend to be extremely easy to set up.)
> 
> -- 
>           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                   http://www.barzilay.org/                 Maze is Life!

Wonderful explanation, thank you. I like the idea of cfengine(8), but
there are some requirements for that specific application that I'm not
wild about and don't really fit to my environment. If I can put something
together, and add code to the windows port for fudging with registery,
etc., then mzscheme I think will work well for my needed application.

Part of the problem is how much time I can steal from my regular duties
to put this together. I may use planet for some of the tcp/http/regex
stuff, but that's all I can think of off the top.

Since the installation is simply a directory (off C:\, off /, etc) then
an under the covers installation is much easier than expected and I'm
grateful for that.

Ideally I want to combine configuration and reporting. Sort of blending
cfengine(8) and hobbit/xymon together. Pulling stuff from cvs, updating
systems, sounds like great fun.

Mike


Posted on the users mailing list.