[Vm-dev] Gnuification fails when compiling unix VM with latest VMMaker source

Adrian Lienhard adi at netstyle.ch
Tue Jan 26 11:07:54 UTC 2010


Hi all,

I'm trying to build a unix VM (on OSX) with the latest trunk (r2148) and the latest VMMaker version (VMMaker-dtl.156) but apparently the gnuification fails:

[ 80%] Building C object CMakeFiles/squeakvm.dir/gnu-interp.c.o
/Users/adrian/Desktop/vmbuilding/platforms/build/gnu-interp.c:6:2: error: #error GNUIFICATION FAILED ( 0 )
make[2]: *** [CMakeFiles/squeakvm.dir/gnu-interp.c.o] Error 1
make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2
make: *** [all] Error 2

When compiling with r2135, in which no gnuification is done, it works. From the above error output I have no clue as to what went wrong.

To narrow down the problem I went to http://www.squeakvm.org/unix/ and downloaded the VMMaker image that Ian uses for the unix builds. I can compile with the cmake configuration of r2148 and the source that this VMM produces. So I assume there is a source change in VMMaker-dtl.156 that is not compatible with gnuification. The only question is, which one? The VMM version found in this image is VMMaker-tpr.58 (this version is many years old!) with lots of uncommitted changes. Diffing against VMMaker-dtl.156 I get tons of changed methods so I'm kind of lost here too. Why is the maintained VMMaker package not used for unix VMs?

The following benchmarks show that gnuification makes a significant difference (MacBook Pro with 2.4Ghz, i686-apple-darwin10-gcc-4.2.1):

1 pre-compiled 3.11.3.2135 VM [1]:		'248543689 bytecodes/sec; 8117987 sends/sec'
2 compiled from source r2135 			'411244979 bytecodes/sec; 10560900 sends/sec'
3 VMMaker-dtl.156 compiled with cmake r2135:	'313533374 bytecodes/sec; 11534330 sends/sec'

4 compiled from source r2148			'487619047 bytecodes/sec; 13257851 sends/sec'
5 provided VMMaker image [2] with r2148		'493256262 bytecodes/sec; 13200950 sends/sec'
6 VMMaker-dtl.156 compiled with r2148		??? cannot compile...

[1] http://www.squeakvm.org/unix/release/Squeak-3.11.3.2135-src.tar.gz
[2] http://www.squeakvm.org/unix/release/unix-3.11.3.2135-vmm.tar.gz

1, 2, and 3 are compiled with the configuration of cmake from trunk revision 2135, hence without gnuification. 4 and 5 probably are from identical source: 4 from the svn trunk, the other, 5, generated through the VMM image provided by Ian.

Any help to make 6 work is very welcome!

Cheers,
Adrian



More information about the Vm-dev mailing list