[Vm-dev] Building VM on 64-bit machines

Philippe Marschall philippe.marschall at gmail.com
Sun May 20 18:55:45 UTC 2007


2007/5/20, Mandeep Gill <mandeepg at gmail.com>:
>
> Hi,
>
> I am trying to build the Squeak VM on 64-bit linux with gcc 4.1 but am
> having problems with both compiling the sources and running images.
> I'm found some information on www.squeakvm.org/squeak64, however I'm
> not sure how up to date it is.
>
> I've downloaded the latest sources from the squeak-vm subversion
> repository and have tried building it using several different compile
> options.
>
> Trying to compile as per the standard instructions succeeds, but I am
> not sure what if it compiles a 32 or 64 bit VM. Regardless this VM
> crashes using the standard Squeak3.9-final-7067 image with a
> segmentation fault.
>
> "16256940 SmalltalkImage>snapshot:andQuit:embedded:
> 16256824 SmalltalkImage>snapshot:andQuit:
> 16256396 SmalltalkImage>saveImageInFileNamed:
> ...
> 16243080 PasteUpMorph>doOneCycle
> 15589312 [] in >spawnNewProcess
> 15589496 [] in BlockContext>newProcess
> Aborted (core dumped)"
>
> I found a 64-bit image sq64-10-dtl.image on
> http://www.barnet.sk/software/squeak however the VM will not load this
> either, giving the error
>
> "This interpreter (vers. 6502) cannot read image file (vers. 68000).
> Press CR to quit..."
>
> If I run configure with the options "with-src=src64" or
> "with-src=src32" (as I have 32bit compatibility libraries installed)
> the compile exits with
>
> "gcc -g -O2 -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o
> -Wl,--export-dynamic  vm/vm.a B2DPlugin/B2DPlugin.a
> BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a
> SocketPlugin/SocketPlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath
> -Wl,/usr/local/lib
> vm/vm.a(sqVirtualMachine.o): In function `sqGetInterpreterProxy':
> /home/mandeep/dev/tmp/squeak/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:202:
> undefined reference to `obsoleteDontUseThisFetchWordofObject'
> /home/mandeep/dev/tmp/squeak/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:333:
> undefined reference to `fetchLong32ofObject'
> /home/mandeep/dev/tmp/squeak/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:334:
> undefined reference to `getThisSessionID'
> /home/mandeep/dev/tmp/squeak/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:335:
> undefined reference to `ioFilenamefromStringofLengthresolveAliases'
> /home/mandeep/dev/tmp/squeak/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:336:
> undefined reference to `vmEndianness'
> collect2: ld returned 1 exit status"
>
> Is anyone running Squeak currently on a 64bit system - what needs to
> be done to get a basic VM and image (32 or 64 bit) working?

All the people I know running Squeak on 64bit systems (including
myself) run the 32bit VM in emulation mode.

Cheers
Philippe

> Many Thanks,
> Mandeep
>


More information about the Vm-dev mailing list