[racket] How to create Linux AMD64 installer from source?
An hour ago, Todd O'Bryan wrote:
> This is probably mostly addressed to Eli, but sent through the list
> for posterity's sake.
>
> I have a few 64-bit servers that I need to install Racket on when
> new versions come out. I've been using the i386 installer, but would
> like to avoid installing the 32-bit compatibility packages, if I
> can.
>
> Building from source takes a long time, but I'm guessing that
> there's a target in the Makefile that can build the installer, which
> i can then run on each of the servers.
>
> Assuming I've downloaded the source and all the dependencies, how
> would I do that?
There's no makefile target to build the installers (the process of
doing that goes well beyond that), but here's what you can do --
assuming you're working with Linux:
* First thing to try is to use our 64 build -- it's done on an old
Fedora 7 setup, but if it works fine then you don't need anything
else. If it doesn't, you might still find it easier to install some
compatibility libc version that can make it run. Two things to
consider here is (a) the current repository version has switched to
GTK via racket glue code, which makes it rely on much less; (b) I'll
be upgrading this Fedora machine sometime soon, probably during
winter break, so it'll be even more likely usable on other 64 linux
distros.
Otherwise:
* Get the usual distribution and the source distribution.
* Run `make && make plain-install' in a build directory, to create the
executables and the libraries in the "bin" and "lib" directories
respectively.
* You'll probably also want to run `strip -S' on the executables,
since otherwise they're big enough to make a noticeable delay on
startup.
* Copy the executables and the libraries on top the tree you get from
the normal distribution. Note that that tree will have many more
"executables" -- but those are all launcher scripts on top of the
real ones which you just copied over.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!