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