Build instructions

Main > frePPLe Manual > Download and install > Installing on Linux, Unix and CygWin > Build instructions

The following describes the steps you need to build Frepple.

  1. Update your system with the development software packages.
    • gcc, v3.4 or higher
      Front end for the GNU compiler suite.
    • gcc-c++, compatible with gcc release
      GNU C++ compiler.
    • xerces-c, v2.7 or higher
      Xerces is a validating XML parser provided by the Apache Foundation.
      You need to install the libraries as well as the development libraries.
    • python v2.4 or higher
      Python is a modern, easy to learn interpreted programming language.
      See http://www.python.org for more information. The language is used to a) run the test suite, b) script custom logic in frePPLe and c) to run the web application framework Django.
      You need to install the language as well as the development libraries.
  2. Change to the installation directory.
  3. Issue the command './configure --prefix=<dir>' to specify the build options and detect the specifics of your platform.
    Use the command './configure --help' to see the list of available options.
    It is recommended to use the --prefix=<dir> configuration option to set the installation directory. Installing frePPLe in its own folder with normal user permissions fits better with the typical usage. Only use the standard /usr or /usr/local installation prefixes if you are planning to link frePPLe into your own application.
  4. Issue the command 'make all' to compile the code.
  5. Optionally, issue the command 'make check' to run the test suite.
    Not all tests are currently passing, so you shouldn't be worried about a couple of failures. :-)
  6. Issue the command 'make install' to install the files.
  7. You can issue the command 'make clean' to free the disk space used during the build and test phases.
  8. Optionally, if you are interested in some of the add-ons in the contrib subdirectory, follow the instructions in the README.txt file in each of the add-on directory.
    You may need to install additional software components for a certain add-on. As a reference, here is a brief summary list of those components:
    • Django, v0.97-pre
      A web application framework written in python.
      Frepple supports PostgreSQL, MySQL and SQLite as the database.
      In addition Django needs the python database driver for your database, the apache web server and mod_python.
      Visit the django website for full details.
      At the time of releasing 0.5.1 Django was at revision 7538. Later revisions may or may not work with frePPLe...
    • SWIG, any version should do
      SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of languages including common scripting languages such as Perl, PHP, Python, Tcl, Ruby and PHP.
    • GLPK, any version should do
      The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP) and other related problems. It can be downloaded from http://www.gnu.org/software/glpk/glpk.html
    • NSIS, version greater or equal to 2.07
      NSIS, which stands for "Nullsoft Scriptable Installation System", is a free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge.
      This program can be downloaded from http://nsis.sf.net and you'll only need it if you are planning to create a windows installation package.
    • py2exe, 0.6.6 or later
      Py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.
      The software is used only when creating the windows installer. It can be downloaded from http://www.py2exe.org/.
    • CherryPy, version 3.0.1 or later
      CherryPy is a pythonic, object-oriented HTTP framework.
      FrePPLe uses it as web server embedded in the Windows stand-alone application. The software is used only when creating the windows installer. It can be downloaded from http://www.cherrypy.org/.
  9. Frepple uses the environment variable FREPPLE_HOME to point to its configuration files and executables.
    It normally points to the bin directory under the prefix directory of the folder chosen in step 3.
    You would set the variable in your login script of your shell or a wrapper shell script.
    For bash/ksh/sh Bourne shells, add the following line to the file .profile in your home directory:
    'export FREPPLE_HOME="/home/me/frepple/bin"'
    For csh/tcsh C shells, add the following line to the file .cshrc in your home directory:
    'setenv FREPPLE_HOME "/home/me/frepple/bin"'
    Frepple expects to find the XML-schema file frepple.xsd in this directory. The file is used to validate the XML data.
    If a file called init.xml is found in this directory, it will be automatically executed when frePPLe starts up.
    See the section on environment variables for other environments that influence frePPLe and may need updating.