[Vm-dev] Building a 64-bit VM for FreeBSD

Frank Shearar frank.shearar at angband.za.org
Wed Feb 11 18:32:57 UTC 2009


"Bert Freudenberg" <bert at freudenbergs.de> wrote:

> On 11.02.2009, at 12:24, Frank Shearar wrote:
>
> >
> > "David T. Lewis" <lewis at mail.msen.com> writes:
> >
> >
> >> On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
> >>>
> >>> Hi everyone,
> >>>
> >>> I'm trying to wrap my head around how to use VMMaker to generate
> >>> source
> > for
> >>> a VM.
> >>
> >> The Unix build instructions are included in the platforms sources:
> >>  http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/
> >>
> > <snip>
> >> Let VMMaker put the generated sources in ./src32, and do the build in
> > ./build32.
> >> The symlink to ./src is used by configure and make to find the
> >> sources.
> >
> > Thanks for the response, David.
> >
> > I still don't understand the process. (I promise, I did read the FAQ
> > and the
> > 64-bit Unix Squeak pages!) OK, so there's a Subversion repository
> > for the
> > Squeak VM. And there's VMMaker. Now if I run VMMaker (having first
> > created a
> > ./platform/unix), I get a small number of files.
>
> You also need to select the plugins you want to build.

Sorry, I should've mentioned that I'd done that. For the moment I've just
gone the "all internal" route (for all the available ports, at least).

> > For instance, in the vm
> > directory there's interp.c, interp.h and sqNamedPrims.h. These files
> > aren't
> > in the svn repository.
>
> http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/vm/

Ah, I NOW see there's a unix/src/vm/ - I was looking in unix/vm/.

> > Should VMMaker have its "Path to generated sources" point to the
> > checked-out
> > svn repository instead, so the VMMaker-generated files alter the
> > repository?
>
>
> No, you delete the pre-generated src directory and replace it with
> your own generated sources.

OK. Does it matter that I'm running VMMaker on a Windows machine and then
copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
particular of line endings.)

I've tried various things, and had various errors preventing compilation.

I thought then I'd try compile the 3.10-4 straight as-is. This should
generate a 32 bit VM, yes? At least, it looks that way judging from the
enormous number of warnings complaining about size differences in casts.
Anyway, after a lot of sweating and consulting my local gcc guru, the
following incantation resulted in a fully-compiling 32 bit VM:

  mkdir bld
  cd bld
  ../platforms/unix/config/configure CPPFLAGS=-I/usr/local/include
LDFLAGS="-L/usr/local/lib" --without-npsqueak
  make
  sudo make install

I'll try that out shortly with a Seaside image.

frank



More information about the Vm-dev mailing list