[Vm-dev] Fwd: [Pharo-project] Compiling a Squeak VM for Pharo on Ubuntu 8.04 LTS Server (64bit)

Damien Cassou damien.cassou at gmail.com
Fri Aug 7 11:14:21 UTC 2009

---------- Forwarded message ----------
From: Dave Woodward <dave at futuremint.com>
Date: Thu, Aug 6, 2009 at 7:10 PM
Subject: [Pharo-project] Compiling a Squeak VM for Pharo on Ubuntu
8.04 LTS Server (64bit)
To: pharo-project at lists.gforge.inria.fr

I tried using the pre-compiled VM from the Pharo website to no avail.
I'm not exactly sure what the problem is, but when running the
pre-compiled Pharo VM, OR the pre-compiled Squeak 3.10-6 VM, they just
quit with a "File not found" error.  My only hunch regarding this is
that they were compiled on 32bit Linuxes, and I'm using a 64bit Linux.

I'm using a bare-bones install of Ubuntu server, 8.04LTS 64bit.  I'm
using Slicehost.com for a virtual server to run a Seaside application
(they use all 64bit *NIXs), and I'm switching from vanilla Squeak 3.9
to Pharo.

So, since the Squeak 3.10-6 VM didn't work either I decided to compile
my own VM.  This does not work out of the box on a vanilla Ubuntu
Server 8.04 install, so here are the steps I took to successfully
compile the VM from the 3.10-6 src files:

(cd /Squeak-3.10-6/platforms/unix)

./config/configure --without-x --without-gl --without-quartz --without-npsqueak

NOTE: The configure command adds 2 entries to disable the RomePlugin.
It looks like it first tests Freetype (not installed so adds an entry
to disable RomePlugin), and then tests Cairo (not installed, so adds
*another* entry to disable RomePlugin).  I believe the autoconf files
need to be fixed for this, but I leave it up to the squeak-dev folks
to figure that out as I have no knowledge of autoconf.

make squeak  (this will error)

To fix the damage from the note above, I had to remove the duplicate
entry for RomePlugin_exports on line 22 of disabledPlugins.c.

make squeak (should be successful)
make squeak install

move /usr/local/lib/squeak/3.10-6/UUIDPlugin to UUIDPlugin.bak as it
has the wrong ELF header, and I've heard has other problems too.

And now /usr/local/bin/squeak should work! (note, without X you'll
need to add "-vm display=none" for the VM to start).

I hope this helps people!  Thanks for everybody's hard work on Pharo!

Dave Woodward
317.332.6438 | dave at futuremint.com

Pharo-project mailing list
Pharo-project at lists.gforge.inria.fr

Damien Cassou

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry

More information about the Vm-dev mailing list