frePPLev2.0
open source Production PLanning
  • Home
  • Documentation
    • Getting started
    • Modeling guide
    • User guide
    • Installation guide
    • Developer guide
    • FAQ
  • C++ API

Compiling on Linux

For debian and red hat systems source packages are available that make building the software easier:

  1. Compiling on Debian-based systems - source deb package
  2. Compiling on Red Hat-based systems - source rpm package

The following describes the generic steps you need to build frePPLe from the source code.
FrePPLe uses a very standard build process, based on the automake suite.

  1. Download the source code.
    The released version is available at http://sourceforge.net/projects/frepple/files/

  2. 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, 3.0 or 3.1
      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.5 – v2.6 – v2.7
      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.
  3. Issue the command ‘./configure‘ in the installation directory to specify the build options and detect the specifics of your platform.
    Use the command ‘./configure –help’ to see the list of available options.

  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, v1.4.1
      A web application framework written in Python.
      FrePPLe supports PostgreSQL, MySQL, Oracle and SQLite as the database.
      In addition Django needs the Python database driver for your database, the apache web server (see http://httpd.apache.org/) and mod_wsgi (seehttp://code.google.com/p/modwsgi/).
      See this page for more detailed instructions on installing the user interface.
    • GLPK, any recent 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 
  9. Optionally, you can use the FREPPLE_HOME environment variable to point to your installation directory.
    See the section on environment variables for other environment variables that influence frePPLe and may need updating.
The following components are only relevant when working in Windows:

  • 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.9 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 fromhttp://www.py2exe.org/.
  • CherryPy, version 3.1.2 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 fromhttp://www.cherrypy.org/.
  • PyWin32, 214 or later
    PyWin32 is an interface to Windows APIs from Python.
    FrePPLe uses this component to run the CherryPy web server as a service. The download location is http://sourceforge.net/projects/pywin32/.
    • Getting started
    • Modeling guide
      • Simplified domain model
      • Detailed domain model
      • Environment variables
      • Python interpreter
      • Global parameters
      • Buffer
      • Calendar
      • Customer
      • Demand
      • Flow
      • Item
      • Load
      • Location
      • Operation
      • Suboperation
      • Operationplan
      • Problem
      • Resource
      • SetupMatrix
      • Skill
      • Resource skill
      • Solver
      • Extension modules
        • Forecast module
        • REST web service module
        • Linear programming solver module
        • OpenERP connector module
    • User guide
      • Main features
      • Supported browsers
      • Getting around
        • Logging in
        • Logging out
        • Changing password
        • Navigation
          • Menu bar
          • Jump search
          • Context menus
          • Browser bookmarks
        • Filtering data
        • Sorting data
        • Selecting time buckets
        • Exporting data
        • Importing data
        • User preferences
        • User permissions and roles
      • Screens
        • Data input
        • Supply Path / Where Used
        • Comments
        • History – Audit trail
        • Plan analysis
          • Problem report
          • Constraint report
          • Inventory report
          • Inventory detail report
          • Resource report
          • Resource Gantt report
          • Resource detail report
          • Operation report
          • Operation detail report
          • Demand report
          • Demand detail report
          • Demand Gantt report
          • Forecast report
          • Performance indicator report
        • Execute
      • Batch commands
        • manage.py (manage.exe on Windows)
        • frepple (frepple.exe on Windows)
        • freppleservice.exe (Windows only)
    • Installation guide
      • Windows installer
      • Compiling on Windows
      • Linux binary packages
      • Compiling on Linux
      • Compiling on debian-based linux
      • Compiling on Red Hat based Linux
      • Compiling from the subversion source code repository
      • Running the VMWare virtual machine
      • Other platforms
      • Configuring the user interface
      • Configuring multiple models in the user interface
      • Configuring as a Python extension module
    • FAQ
    • Developer guide
      • Code structure
      • Class diagram
      • Solver
        • Solver features
        • Planning algorithm
          • Top level loop
          • Demand solver
          • Buffer solver
          • Flow solver
          • Load solver
          • Operation solver
          • Resource solver
        • Cluster and level algorithm
      • Extension modules
      • Version control
      • Style guide
      • Portability
      • Security
      • Internationalization
      • Translating the user interface
      • Adding or customizing a report
      • Unit tests
        • buffer_procure_1
        • calendar
        • callback
        • cluster
        • constraints_combined_1
        • constraints_combined_2
        • constraints_leadtime_1
        • constraints_material_1
        • constraints_material_2
        • constraints_material_3
        • constraints_material_4
        • constraints_resource_1
        • constraints_resource_2
        • constraints_resource_3
        • constraints_resource_4
        • constraints_resource_5
        • datetime
        • deletion
        • demand_policy
        • flow_alternate_1
        • flow_alternate_2
        • flow_effective
        • forecast_1
        • forecast_2
        • forecast_3
        • forecast_4
        • forecast_5
        • forecast_6
        • jobshop
        • load_alternate
        • load_effective
        • lpsolver_1
        • multithreading
        • name
        • operation_alternate
        • operation_available
        • operation_effective
        • operation_pre_post
        • operation_routing
        • pegging
        • problems
        • python_1
        • python_2
        • python_3
        • safety_stock
        • sample_module
        • scalability_1
        • scalability_2
        • scalability_3
        • setup_1
        • setup_2
        • skill
        • xml
        • xml_remote
    • License
      • GNU Affero General Public License
      • GNU Free Documentation License
    • Third party add-ons
  • Copyright © 2010-2013 frePPLe bvba