[Vm-dev] How to use Croquet VMMaker

Matthew Fulmer tapplek at gmail.com
Tue Feb 5 07:00:58 UTC 2008


Hi. In anticipation of working on HydraVM, I am trying to test
as close a configuration as possible to HydraVM without being
hydra. That is, load the nearest ancestor VMMaker and C sources
to hydra, and try to make a working VM. This should help ensure
that there are no "normal" bugs once I switch to Hydra, only
hydra bugs. So, I did that: Here is my setup:

- Fedora core 7 on x86 processor
- Release 3.9 image/VM from squeak.org
  - Load FFI from SqueakMap
  - Load VMMaker-ar.70 from
    http://jabberwocky.croquetproject.org:8889/Homebase/
- Checkout http://squeakvm.org/svn/squeak/trunk revision 1796
  (The nearest ancestor of HydraVM)

I pointed VMMaker at the platforms directory in the checkout,
and told it to build source in platforms/unix/src. I selected
all plugins to be external, but moved FilePlugin and
SocketPlugin to be internal. Then I did

mkdir unixbuild
cd unixbuild
../platforms/unix/config/configure
make

make fails linking gnu-interp.o:

/bin/sh /home/matthewf/squeak/vm/hydravm-trunk-base/unixbuild/libtool --mode=link gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1    -export-dynamic -R/usr/local/lib -o squeak vm/vm.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a disabledPlugins.o version.o -lutil -ldl -lm -lnsl   vm/vm.a
gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic  vm/vm.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/usr/local/lib
vm/vm.a(gnu-interp.o): In function `primitiveGetWindowLabel':
/home/matthewf/squeak/vm/hydravm-trunk-base/unixbuild/vm/gnu-interp.c:15141: undefined reference to `ioGetWindowLabel'
vm/vm.a(gnu-interp.o): In function `primitiveSetWindowLabel':
/home/matthewf/squeak/vm/hydravm-trunk-base/unixbuild/vm/gnu-interp.c:18770: undefined reference to `ioSetWindowLabelOfSize'
collect2: ld returned 1 exit status

Building this VM worked when using the latest VMMaker from
SqueakMap (VMMaker-tpr.58), everything else the same. Is there
something else I need to do in order to build using the Croquet
VMMaker? I want to use it specifically, since the Hydra VMMaker
is derived from it.

The dev notes on Hydra are at
http://squeakvm.org/~sig/hydravm/devnotes.html

-- 
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808


More information about the Vm-dev mailing list