Factor/Building Factor

Once you have a clone of the GIT repository, there are two ways to build Factor; you can build a clean branch, or the bleeding-edge sources.

Build requirements

See Requirements.

Building and updating Factor the easy way

Once you have a GIT checkout of the Factor source tree, you can use the build-support/factor.sh utility to check for updates, and build Factor:

Unix:

./build-support/factor.sh update

Windows:

build-support\factor.cmd

This utility automatically updates your repository, rebuilds the Factor VM, downloads the latest boot image, and bootstraps Factor. This utility will work on Windows if Cygwin is installed. However, if Cygwin is not installed, you can still build Factor using the directions below.

Building and updating Factor the hard way

If you don't want to, or can't, use the factor.sh script, you will need to build Factor in three steps:

  • compile the Factor VM
  • download a boot image
  • bootstrap Factor

If you did a git pull to update the sources, don't forget to recompile your VM and get a new boot image too.

Boot images

Factor is partially self-hosting; all of the code in core is packaged into a boot image by the bootstrap process. You will need to download a boot image before building Factor:

http://downloads.factorcode.org/images/latest/

Boot images are CPU- and OS-specific:

  • boot.unix-86.32.image - 32-bit Mac OS X, Linux, *BSD
  • boot.winnt-86.32.image - 32-bit Windows
  • boot.unix-86.64.image - 64-bit Mac OS X, Linux, *BSD
  • boot.winnt-86.64.image - 64-bit Windows
  • boot.macosx-ppc.image - 32-bit PowerPC Mac OS X

You will need to download either a clean boot image, or the latest boot image, depending on whether you're building from a clean branch or the latest branch. See below for details.

Once you have built Factor, you can generate a new boot image if you choose.

Building from a clean branch

Clean branches should be tracked by users who do not wish to use the binary packages, but nevertheless require a high degree of confidence that the source will compile and work. See Build farm for details of the process used to create clean branches.

The currently available clean branches are:

  • clean-linux-x86-32
  • clean-linux-x86-64
  • clean-winnt-x86-32
  • clean-macosx-x86-32
  • clean-macosx-x86-64
  • clean-macosx-ppc
  • clean-freebsd-x86-32
  • clean-freebsd-x86-64
  • clean-netbsd-x86-32
  • clean-netbsd-x86-64
  • clean-openbsd-x86-32
  • clean-openbsd-x86-64

Step 1: To track a clean branch, you will need to clone a repository first, then issue the following two commands to stay up to date:

git checkout -b clean-os-cpu origin/clean-os-cpu
git pull git://factorcode.org/git/factor.git clean-os-cpu

Step 2: Download the latest clean boot image for your architecture from http://downloads.factorcode.org/images/clean/. Place the boot image in the Factor directory.

Step 3: Compile the Factor VM by running make:

make  # Linux, Mac OS X
gmake  # BSD
nmake /f Nmakefile  # Windows

Step 4: Bootstrap Factor by issuing a command like the following, where arch is one of unix-x86.32, winnt-x86.32, unix-x86.64, winnt-x86.64, or macosx-ppc:

./factor -i=boot.arch.image

Building from bleeding-edge sources

Instead of tracking a clean branch, you can also track the latest sources. Keep in mind that these might not always build or work correctly, so pay attention to the Concatenative IRC channel and Mailing list if you plan on doing this.

Step 1: To pull the latest patches, issue the following command in a cloned repository:

git pull origin master

Step 2: Download the latest boot image for your architecture from http://downloads.factorcode.org/images/latest/. Place the boot image in the Factor directory.

Step 3: Compile the Factor VM by running make:

make  # Linux, Mac OS X
gmake  # \*BSD
nmake /f Nmakefile  # Windows

Step 4: Bootstrap Factor by issuing a command like the following, where arch is one of x86.32, unix-x86.64, winnt-x86.64, or macosx-ppc:

./factor -i=boot.arch.image

Verify the build

After running your new build, verify it can create an image.

Step 1: Execute like the following, where arch is one of x86.32, unix-x86.64, winnt-x86.64:

"unix-x86.64" make-image

Step 2: After the image has been built execute Step 4 as described above.

Step 3: Run factor as described below, if it runs successfully your good to go.

Running Factor

See Running Factor.

This revision created on Wed, 31 Oct 2012 00:25:30 by otoburb (Rollback to 'Verify the build')