Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Callisto
  • Cat
  • Cognate
  • colorForth
  • Concata
  • CoSy
  • Deque
  • DSSP
  • dt
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Fiveth
  • Forth
  • Fourth
  • Freelang
  • Gershwin
  • hex
  • iNet
  • Joy
  • Joy of Postfix App
  • kcats
  • Kitten
  • lang5
  • Listack
  • LSE64
  • Lviv
  • Meow5
  • min
  • Mirth
  • mjoy
  • Mlatu
  • Ode
  • OForth
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Prowl
  • Quest32
  • Quackery
  • r3
  • Raven
  • Retro
  • RPL
  • SPL
  • Staapl
  • Stabel
  • Tal
  • Titan
  • Trith
  • Uiua
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Concatenative topics

  • Compilers
  • Interpreters
  • Type systems
  • Object systems
  • Quotations
  • Variables
  • Garbage collection
  • Example programs

Concatenative meta

  • People
  • Communities

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Meta

  • Search
  • Farkup wiki format
  • Etiquette
  • Sandbox

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

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

the factor.dll.

Run

 chmod +x *.dll 

If you still get an error message run factor from the command line with:

 ./factor.com -run=listener 

Calling [{ "ui.tools" run }] should recreate the error. [{ :c }] will

then give you the call stack at the time of the error.

This revision created on Thu, 19 Mar 2009 03:49:42 by noenzyme (Fix windows build hints.)

Latest Revisions Edit

All content is © 2008-2024 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.