|
[ | home | | | download/install | | | problems/bugs | | | developers | | | archives | | | goodies | | | resources | | | site stats | | | more stats | ] |
1. Downloading |
If you are downloading Squeak for the first time, please read the license.
To download a file using Netscape, click the right mouse button over the link and choose ``Save link as...'' (or just click ``shift-left-mouse-button'' over the link). It is a Very Bad Idea to change the name of a file when downloading it.
All of the files have been compressed using GNU gzip. It runs on virtually every Unix-like platform known to modern science. You must run ``gunzip'' on all files having a ``.gz'' extension before using them. If you don't already have a copy of this program then you can get the sources and/or precompiled executables from ftp://ftp.netscape.com/pub/unsupported/gnu/.
1.1. What you need to fetch |
Squeak requires at least four files to operate correctly:
The sources file is common to all releases with the same major version number.
SqueakV41.sources.gz
The image and changes files are platform-independent, and can be moved freely between different platforms. No matter how many different platforms you use to run Squeak, you need only download a given version of these files once.
Squeak4.2-10966.zipImportant! An image file must always be used in conjunction with the corresponding changes file, otherwise you will see gibberish instead of the correct source code for many of the system classes (and you risk losing the source for any modifications or additions that you made to the image). Do not rename these files manually! Instead, start up the image file using a virtual machine that has the same version number and then use the ``save as...'' option in the system (background) menu to save the image with a different name. Note that both the image and changes files are saved using the new name: never separate one from the other!
The virtual machine is platform-dependent. You need to download a separate virtual machine for each combination of Squeak version and platform. You should always use the version of the virtual machine that matches the version of the image and changes files. There are several optional ``plugin'' modules available for use with the virtual machine, in the form of shared libraries with ``.so'' extensions. These contain primitives for things like 3D graphics. They are included along with the virtual machine. The current releases of the virtual machine are available from the main download page.
Notes:
2. Installing Squeak |
The easiest way to do this is using the INSTALL script that comes with each of the above tar files.
2.1. Automatic Installation |
Fetch the archive/s that you need and then unpack it/them in the same directory. This will create a subdirectories called Squeak-3 (for the .sources file) and Squeak-3.7-7 (for the VM and image/changes files) containing hierarchies that mirror the installed locations of the various files. The architecture-specific files are in a subdirectory named after your "cpu-vendor-os" string.
The file INSTALL is an executable script that will copy the files to the correct locations. Note that you must be ``root'' to run this script:
If the script complains that it cannot find the architecture-specific files for your machine, even though you have downloaded and unpacked the relevant archive, then there might simply be a difference in operating system versions. If you believe that the architecture-specific files in the directory "foo-bar-baz" will work for you, then you can specify that directory as an argument to INSTALL:$ su root # cd Squeak-X.Y-Z # /bin/sh INSTALL # exit $
You are strongly encouraged not to move things around. If you do then you will totally invalidate your (already non-existent) warranty.$ su root # cd Squeak-X.Y-Z # /bin/sh INSTALL foo-bar-baz # exit $
If you absolutely must install the libraries in cruel and unusual locations then you should read the squeak(1) manual page and set the SQUEAK_PLUGINS variable in your environment to tell the virtual machine where to look for the libraries.
Note that the image and changes files are installed compressed. This is to save space. The inisqueak(1) script will uncompress them for you while setting up your personal Squeak environment.
2.2. Manual Installation |
You can move things around pretty much any way you like -- although life will become more complicated if you do.
After extracting the tar archive, all the important files are in:
platform-name/usr/local/squeak/squeak3.7-7/Within that directory you should see the following:
squeak -- the VM itselfThe rules are simple: squeak must be in a directory listed in your PATH environment variable, and the variable SQUEAK_PLUGINS should contain the name of the directory containing the .so files.
*.so -- all the plugins
Here's one possible way to arrange things (and the one I would suggest, since it makes upgrading to a newer VM as painless as possible).
If you don't already have them, create bin and lib directories under your HOME directory:
Make a squeak directory in your $HOME/lib:$ mkdir $HOME/bin $ mkdir $HOME/lib
Move the entire squeak3.7-7 directory into $HOME/lib:$ mkdir $HOME/lib/squeak
Create a tiny shell script in HOME/bin called squeak, containing the following:$ mv platform-name/usr/local/lib/squeak/squeak3.7-7 $HOME/lib/squeak/.
Don't forget to make it executable, like this:#!/bin/sh SQUEAK_PLUGINS=$HOME/lib/squeak/squeak3.7-7 export SQUEAK_PLUGINS exec $SQUEAK_PLUGINS/squeak
Make sure $HOME/bin is in your PATH. Add something similar to the following to your .profile or .bashrc (or whatever) if necessary:$ chmod +x $HOME/bin/squeak
$ PATH=$HOME/bin:$PATH $ export PATH
You should now be able to run
which will probably complain that it can't find an image file. (That just indicates that your script is working. ;)$ squeak
Next extract the sources archive. It should contain a directory called
usr/local/squeakwith a file called SqueakV3.sources inside. Move this file into your HOME/lib/squeak directory:
$ mv usr/local/lib/squeak/SqueakV3.sources $HOME/lib/squeak/.
Now you need an image. Extract the image archive. It contains the .image and .changes files in a directory called usr/local/lib/squeak. Move them into the directory that you will use for Squeak development, for example: $HOME/squeak.
All that's left is to uncompress them and make a link to the .sources file:$ mkdir $HOME/squeak $ mv usr/local/lib/squeak/squeak3.7-5989.image.gz $HOME/squeak/. $ mv usr/local/lib/squeak/squeak3.7-5989.changes.gz $HOME/squeak/.
Running$ cd $HOME/squeak $ gunzip *.image.gz *.changes.gz $ ln -s $HOME/lib/squeak/SqueakV3.sources .
again should bring up a working image.$ squeak
To upgrade the VM after the above process, unpack the binary archive and move the new
platform-name/usr/local/lib/squeak/squeak-X.Y-Zdirectory into your HOME/lib. You then have just one line to modify in your HOME/bin/squeak script to begin using the new VM.
3. Some known "gotcha"s |
3.1. Clipboard problems |
If you are having problems with copy/paste between Squeak and other applications in version 3.6 or later of the VM then please let me know. Otherwise, try the following remedies:
*VT100.translations: #override\ <Btn1Up> : select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD)\n\ <Btn2Up> : insert-selection(PRIMARY, CUT_BUFFER0, CLIPBOARD)\n\ <Btn3Up> : select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD)
3.2. Linux Sound |
Ned Konz discovered that it's sometimes necessary to tell Linux (using ALSA and OSS compatibility modules) that Squeak wants to open the sound device in non-blocking mode. If sound output in Squeak seems to be playing things ``on top of themselves'' then you might want to try the following (or something similar) as root to see if it cures the problem:
# echo "squeak 0 0 block" > /proc/asound/card0/pcm0p/oss
3.3. Solaris and libffi |
Building libffi on Solaris is no fun. If you'd like precompiled binaries, here are the ones I built for Solaris 2.8: libffi-solaris2.8.tar.gz
4. Reporting Bugs |
If you're having problems...
It is a bad idea to send VM problem reports to the general-purpose 'squeak-dev' mailing list. There is no guarantee that anyone involved with VM development and maintenance will ever read your message.
[ | home | | | download/install | | | problems/bugs | | | developers | | | archives | | | goodies | | | resources | | | site stats | | | more stats | ] |