This is my first Squeak installation.
System: Fedora Core 3 LINUX running on an i386 (Athlon).
I fetched .rpm files from http://squeak.hpl.hp.com/unix/:
-rw-rw-r-- 1 hugh hugh 12797972 Mar 22 04:17 Squeak-image-3.7-5989.noarch.rpm -rw-rw-r-- 1 hugh hugh 3428037 Mar 22 17:11 Squeak-sources-3-1.noarch.rpm -rw-rw-r-- 1 hugh hugh 753846 Mar 22 04:28 Squeak-vm-3.7-7.i386.rpm -rw-rw-r-- 1 hugh hugh 2383423 Mar 22 04:28 Squeak-vm-3.7-7.src.rpm
I installed all but the last of these (rpm -iv).
I didn't know how to start it, so I typed "squeak" at the shell. squeak complained about not being able to find the image.
Then I tried: squeak /usr/lib/squeak/squeak.image.gz This interpreter (vers. 6502 cannot read image file (vers. 134777631 Hit CR to quit [Notice the unmatched parentheses in the diagnostic message. BUG, I think.]
I realized at this point that I should be using inisqueak to make a personal writeable copy of the image and changes files.
Then I tried inisqueak and got this message: No default image, looking for alternatives...
I could not find an image to install. Please check your Squeak installation.
I'd have expected that inisqueak, which is in Squeak-image-3.7-5989.noarch.rpm, would know where to look for /usr/lib/squeak/Squeak3.7-5989.image.gz which is packaged in the same .rpm.
In fact, the inisqueak shell script thinks that things are installed in /usr/local/bin and /usr/local/lib/squeak.
BUG: inisqueak in Squeak-vm-3.7-7.i386.rpm should know where the same .rpm places the initial image and changes files.
The man page for inisqueak says: inisqueak has no options or arguments.
This turns out not to be the case. inisqueak accepts flags (give it -h to see a list). It also accepts a pathname that it will prefix to the wired in paths for: - bindir - imgdir - plgdir I am guessing that this facility is for the benefit of packaging tools. I could not get it to solve my problem since I needed to change these paths, not just prefix them.
The paths are set up as the first few executable lines in inisqueak:
MAJOR=3 VERSION=3.7-5989
prefix=/usr/local exec_prefix=${prefix} bindir=${exec_prefix}/bin imgdir=${prefix}/lib/squeak plgdir=/usr/local/lib/squeak/3.7-7
Why is plgdir not based on prefix like the other path variables?
If plgdir were based on prefix then prefix could be defined: prefix=$(prefix:-/usr/local) allowing the prefix to be overridden from the command line: prefix=/usr inisqueak
The existing mechanism for relocating all paths (when a path is supplied as an argument) relocates bindir, imgdir, and plgdir, even though plgdir is not initialized in terms of prefix.
At this point, I make a copy of inisqueak, fix the definition of prefix, and run that copy. Don't bother me for a while -- I'm playing.
PS: My plugin stuff is probably broken since I only changed prefix. But perhaps not -- how can I tell? The filenames in the directory suggest that the display would not work without plugins, and the display is working.
PPS: top says that squeak is taking about 14% of the user mode CPU before I even touch it. Is it (the vm?) still busy waiting / polling? I know that used to be the case years ago.
vm-dev@lists.squeakfoundation.org