Status/Requires testing
1752850: Job splitting
Status/Active
1751200: Date and time handling
Status/Closed
1751294: Navigation
Status/Closed
1751127: Access to sourcesafe2subversion
Status/Active
1751308: Team Lambdal Tap's public page?
1751225: About the team -- please introduce yourself here
Status/Closed
1751221: Team and tag names
Status/Closed
1750871: Ugly site
Status/Closed
1751186: Search broken
Status/New requirement
1750985: Project menu order and sub-projects
Status/Closed
1750879: Searching for an empty string is broken

Building Fost

The libraries are available from our Subversion repository. It's recommended that you use a new folder for this as a number of libraries and dependencies will be required.

I.e. something like:

mkdir fost4
cd fost4

Run all of the following commands from that directory.

Note for Windows users: Where a command starts with a ./ (i.e. ./build or ./compile) then do not type the initial ./

Source code

svn co http://svn.felspar.com/public/fost-base/stable fost-base
svn co http://svn.felspar.com/public/fost-internet/stable fost-internet
svn co http://svn.felspar.com/public/fost-orm/stable fost-orm

On Windows you will also want:

svn co http://svn.felspar.com/public/fost-windows/stable fost-windows

Boost

svn co http://svn.felspar.com/external/Boost

Note for Linux users: Any version of Boost available as part of your Linux distribution's packaging system is not suitable for use with the Fost 4 build environment. You would need to make alterations to the Jamfiles and the build scripts. This should only be attempted by those who really understand the Boost.Build system.

Cryptographic support

Fost 4 uses OpenSSL for its cryptography functions.

svn co http://svn.felspar.com/external/OpenSSL

Note for Linux users: Fost 4 will use the version of OpenSSL for your distribution. You will need to make sure that the development package is installed. You do not need the above check out

Note for Mac users: OpenSSL is built in to the Mac OS/X and Fost 4 uses that version. You do not need the above check out

Python support

If you want to use Fost 4 from Python you will need:

svn co http://svn.felspar.com/public/fost-py/stable fost-py

You will also need to install Python. You will need the development files (which are installed by default on Windows — on Windows we have been testing against Python 2.5 distributions).

Postgres support

If you want to make use of the Postgres database driver you will need:

svn co http://svn.felspar.com/external/PostgreSQL
svn co http://svn.felspar.com/public/fost-postgres/stable fost-postgres

You will also need to install Postgres and its development files.

Note for Windows users: You should install Postgres 8.3 to the default location. You will also need to choose to install all of the development files.

Building

The first task is to have a working copy of Boost. If you don't already use Boost then simply run the build script inside the Boost check out. It will fetch the correct version from the Boost repository and make and install the libraries.

It is possible to use an existing version of Boost, but the directory structure needs to be set up correctly.

cd Boost
./build
cd ..

On Windows the script will fetch and build Boost 1.38.0 and on Linux/Mac it will use 1.39.0. The build system is set up in such a way that multiple versions of Boost can be used and tested against.

Note for Postgres users: In order to successfully build and test the Postgres libraries Postgres must be running on the local machine and answering on the standard TCP/IP port. There must also be a user called “Test” with password “tester” that has permission to create database objects.

Note for Windows users: Fost 4 requires Boost to be built with special compile options to properly allow exceptions to work. The default build of Boost does not use these options.

In order to build fost-windows a default installed instance of Microsoft SQL Express must be available and the user performing the build must have permission to create and drop databases and other database objects.

Building the Fost 4 libraries

You may build the libraries and run the smoke tests. Using the compile scripts as below will build the libraries and run some basic tests on them. The build will also update your check out from the Felspar Subversion repository, force a re-link of the target libraries and in some cases run more thorough tests.

cd fost-base
./compile
cd ..
cd fost-internet
./compile
cd ..
cd fost-orm
./compile
cd ..

Optional components can also be built by changing into their directory and executing the compile script.

This will leave you with a dist folder where the produced files are collected.

Building the examples

Examples can be build by passing the examles option to

Note for Linux users: The build system does not set the .so path on the built programs. In order to successfully run them the LD_LIBRARY_PATH must be set. E.g.

fost-base/compile examples
export LD_LIBRARY_PATH=`pwd`/dist/lib
dist/bin/host support.felspar.com

Building the documentation

You will need to have Doxygen installed to do this.

cd fost-base
./compile docs

Documentation will appear in dist/usr/share/fost.

Building on Fost 4

It is simplest to continue to use the Boost.Build build system. For an example of a nascent library that uses Fost 4 take a look at Spruce at http://svn.felspar.com/public/spruce.

If you use the Fost libraries in this way then you only need to explicitly compile them if you wish to run their smoke tests.