[plt-scheme] small, static, mzscheme executable?
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