[Vm-dev] Cog FreeBSD patches

David T. Lewis lewis at mail.msen.com
Wed Mar 23 03:56:13 UTC 2011

On Wed, Mar 23, 2011 at 12:15:23AM +0100, Igor Stasenko wrote:
> On 22 March 2011 23:35, Randal L. Schwartz <merlyn at stonehenge.com> wrote:
> >
> >
> > So, at this point could someone either build me a FreeBSD 8.1 amd64 VM,
> > or point me at an up-to-date set of instructions to build it myself?
> >
> Here i sketched a brief instructions how to do that:
> http://code.google.com/p/cog/wiki/CMakeVMMaker


Igor's instructions should yield a much faster VM, but to build a
64-bit standard VM, the following steps should also work. Caveat: I do
not have a FreeBSD system to test.

  Generate sources on a Linux box or some other box with a working VM (assume Linux)
  Target is FreeBSD 64-bit AMD
  The FreeBSD box has a reasonably recent version of CMake (www.cmake.org)

Start in clean directory on the Linux box. Download files and run Squeak.

$ mkdir myworkingdir; cd myworkingdir
$ svn co http://squeakvm.org/svn/squeak/trunk/platforms
$ wget http://ftp.squeak.org/4.2/Squeak4.2-10966.zip
$ unzip Squeak4.2-10966.zip
$ wget http://ftp.squeak.org/4.2/SqueakV41.sources.gz
$ gunzip SqueakV41.sources.gz
$ squeak Squeak4.2-10966.image

Load VMMaker.

- Open a Monticello browser
- Add repository http://www.squeaksource.com/VMMaker
- Open repository, package category 'update', load latest (update-dtl.7.mcm)
- Evaluate "VMMaker updateFromServer" (accept merges for FFI).

Generate sources.

- World menu -> open... -> VMMaker
- Click on the Help button, upper left corner the VMMaker tool
- Read it (really, no kidding, read it, thanks to tpr for this)
- Drag the following from "Plugins not built" pane to "Internal Plugins" pane:
- Drag the following from "Plugins not built" pane to "External Plugins" pane:
- Note, you must have at least one external plugin (this is a bug in the
  CMake build procedure, note to self - follow up and get it fixed)
- Click on the generate "Entire" button.

Exit the image and go back to unix. At this point you have a ./platforms
and ./src directory. You will copy these over to the BSD target to build
the final VM, but before doing that make sure you you build it here. So...

$ mkdir build; cd build
$ ../platforms/unix/cmake/configure --help
$ ../platforms/unix/cmake/configure --src=../src --without-gl
$ make
$ make install

Assuming that the above produces a working VM, you can copy the ./src
and ./platforms over to your BSD system and repeat the configure and
make on that system.


More information about the Vm-dev mailing list