frePPLeOpen source Production Planning
  • Home
  • Documentation
  • C++ API

Compiling on Linux

Compiling from a source tarball
Compiling from a debian source package
Compiling from a RPM source package

The instructions on this page describe how you compile the frePPLe source code into binaries. After compilation you need to return to the installation and configuration steps outlined on the previous page.

Compiling from source tarball

This section 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.
    1. gcc, v3.4 or higher
      Front end for the GNU compiler suite.
    2. gcc-c++, compatible with gcc release
      GNU C++ compiler.
    3. 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.
    4. python v2.6 or 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.

Compiling from a debian source package

The steps to work with such packages are fully generic, and not specific to frePPLe:

  1. Install the django package as described on the previous page.
  2. Install the dpkg-dev package and all prerequisite packages for frepple:
         apt-get install dpkg-dev debhelper cdbs autotools-dev python-dev libxerces-c-dev graphviz libtool
    
  3. Build the source directory.
    Expand all files listed in the .dsc file.
  4. Build the package in the source directory.
        dpkg-buildpackage -B 
    

Compiling from a RPM source package

The steps to work with such packages are fully generic, and not specific to frePPLe:

  1. Install the django package as described on the previous page.
  2. Install the rpmbuild package:
        yum install rpmbuild
    
  3. Create a build directory structure:
        rpmdev-setuptree
    
  4. Install the source RPM file:
    This will create files in the SOURCES directory of your RPM building directory tree, and a .spec file in the SPECS directory.

        rpm -i frepple-2.0-1.src.rpm
    
  5. Build the RPM:
    Go the SPECS directory and give the command to build the RPM:

       cd /home/your_userid/rpm/SPECS
       rpmbuild -bb frepple.spec
    
    • Getting started
      • 1 – Introduction
      • 2 – Installation
      • 3 – Entering data
      • 4 – Modelling concepts
      • 5 – Your first model
      • 6 – Your first plan
    • 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
    • User guide
      • Supported browsers
      • Getting around
        • Logging in
        • Logging out
        • Changing password
        • Navigation
          • Menu bar
          • Jump search
          • Context menus
        • Filtering data
        • Sorting data
        • Selecting time buckets
        • Exporting data
        • Importing data
        • Customizing a screen
        • User preferences
        • User permissions and roles
        • Comments
        • History – Audit trail
      • Data maintenance screens
      • Supply Path / Where Used
      • Plan analysis screens
        • 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
      • Execution screen
      • Batch commands
        • frepplectl
        • frepple
        • freppleservice.exe (Windows only)
    • Installation guide
      • Windows installer
      • Compiling on Windows
      • Linux binary packages
      • Compiling on Linux
      • Compiling from the source code repository
      • Running the VMWare virtual machine
      • Other platforms
      • Configuring multiple models in the user interface
      • Configuring as a Python extension module
    • Extension modules
      • Forecast module
      • Order quoting module
      • REST web service module
      • OpenERP connector module
      • Linear programming solver module
    • Technical guide
      • Architecture
      • Source code repository
      • User interface
        • Creating an extension app
        • Translating the user interface
        • Adding or customizing a report
        • Style guide
      • Solver engine
        • Code structure
        • Class diagram
        • Planning algorithm
          • Top level loop
          • Demand solver
          • Buffer solver
          • Flow solver
          • Load solver
          • Operation solver
          • Resource solver
        • Cluster and level algorithm
        • Extension modules
        • Style guide
        • Portability
      • Security
      • 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
    • FAQ
    • License
      • GNU Affero General Public License
      • GNU Free Documentation License
    • Third party add-ons
  • Copyright © 2010-2013 frePPLe bvba