Factor/GIT repository

Building Factor from source is the recommended way to get Factor if you want to track development, because it saves bandwidth over downloading a binary every few days. It is also a requirement for contributors who wish to push patches to the Factor repository. New users and casual dabblers should use binaries if possible instead, to save time and effort.

Browse repository

You can browse the GIT repository online at http://gitweb.factorcode.org/.

Requirements

If you are using Linux, you may need to install development packages (gcc, libc headers, xorg development libraries, ...) before compiling Factor. If you are using Windows, you will need Cygwin. On Mac OS X, you will need Apple's developer tools.

You will also need git on all platforms.

Cloning a repository

Once you have installed git, you can clone a copy of the Factor repository:

git clone git://factorcode.org/git/factor.git

Cloning from behind a restrictive corporate firewall:

git clone http://factorcode.org/git/factor.git

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

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; once you have built Factor, you can generate a new boot image if you choose. Boot images are CPU-specific, and sometimes OS-specific:

  • boot.86.32.image - all 32-bit operating systems
  • 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.

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://factorcode.org/images/clean/. Place the boot image in the Factor directory.

Step 3: Compile the Factor VM by running make (gmake on BSD).

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

Building 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://factorcode.org/images/latest/. Place the boot image in the Factor directory.

Step 3: Compile the Factor VM by running make (gmake on BSD).

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

Staying up-to-date

Once you have an initial set of sources, you may wish to update your system to take advantage of new features or bug fixes added to the system since your initial pull. If you are following the latest branch, you can take advantage of the build-support/factor.sh utility:

./build-support/factor.sh update

This will automatically update your repository, clean and rebuild the Factor VM, and bootstrap a new image.

If you decide to keep to update and rebuild manually, don't forget to recompile the VM and re-bootstrap after doing a git pull.

Windows Build Hints

Also see: Setting up a Windows compilation environment

After build with build-support/factor.sh there are a few more steps

needed before you can run factor.

  • Download the dlls listed in build-support/dlls.txt from http://factorcode.org/dlls/. They should go in the same directory as factor.dll.

  • Run chmod +x .dll

This revision created on Sun, 5 Apr 2009 11:59:58 by kobi