<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Frepple / Build instructions</title> <link rel='stylesheet' href='../styles.css' type='text/css' /> <!--PageHeaderFmt--> </head> <body> <div id="container"> <div id="menubar"> <div id="logo" align="center"> <br/><img src='../frepple.bmp' alt="frepple" /><br/> <a href='http://www.frepple.com/'> <strong>a Free<br/>Production Planning<br/>Library</strong> </a></div> <div id="menu"> <br/> <h3><a href='../Main/HomePage.html'>Main</a></h3> <h3><a href='../UI/Main.html'>User Manual</a></h3> <h3><a href='../Tutorial/Main.html'>Tutorial</a></h3> <h3><a href='Main.html'>Reference Manual</a></h3> <h3><a href='../Main/FAQ.html'>FAQ</a></h3> <h3><a href='../reference/index.html'>C++ API</a></h3> <br/><div> </div> </div> </div> <div id="content"> <br/> <!--PageText--> <div id='wikitext'> <p><a class='wikilink' href='../Main/HomePage.html'>Main</a> > <span class='wikitrail'><a class='wikilink' href='Main.html'>Reference Manual</a> > <a class='wikilink' href='Installation.html'>Download and install</a> > <a class='wikilink' href='InstallationLinux.html'>Installing on Linux, Unix and Cygwin</a> > <a class='selflink' href='InstallationLinuxBuild.html'>Build instructions</a></span> </p> <p class='vspace'>For debian and red hat systems source packages are available that make building the software easier: </p><ol><li><a class='wikilink' href='InstallationLinuxBuildDEB.html'>Build instructions for Debian-based linux systems</a> - source deb package </li><li><a class='wikilink' href='InstallationLinuxBuildRPM.html'>Build instructions for Red Hat-based linux systems</a> - source rpm package </li></ol><p class='vspace'>The following describes the generic steps you need to build frePPLe from the source code.<br />FrePPLe uses a very standard build process, based on the automake suite. </p> <div class='vspace'></div><ol><li>Download the source code.<br /> The released version is available at <a target='_blank' class='urllink' href='http://sourceforge.net/project/showfiles.php?group_id=166214' rel='nofollow'>http://sourceforge.net/project/showfiles.php?group_id=166214</a><br /> A snapshot of the latest version of the code can be downloaded from <a target='_blank' class='urllink' href='http://frepple.svn.sourceforge.net/viewvc/frepple/trunk.tar.gz?view=tar' rel='nofollow'>http://frepple.svn.sourceforge.net/viewvc/frepple/trunk.tar.gz?view=tar</a> <div class='vspace'></div></li><li>Update your system with the development software packages. <ul><li><strong>gcc</strong>, v3.4 or higher<br />Front end for the GNU compiler suite. </li><li><strong>gcc-c++</strong>, compatible with gcc release<br />GNU C++ compiler. </li><li><strong>xerces-c</strong>, 3.0 or 3.1<br />Xerces is a validating XML parser provided by the Apache Foundation.<br />You need to install the libraries as well as the development libraries. </li><li><strong>python</strong> v2.4 - v2.5 - v2.6<br />Python is a modern, easy to learn interpreted programming language.<br />See <a target='_blank' class='urllink' href='http://www.python.org' rel='nofollow'>http://www.python.org</a> 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.<br />You need to install the language as well as the development libraries. </li></ul><div class='vspace'></div></li><li>Issue the command <strong>'./configure</strong>' in the installation directory to specify the build options and detect the specifics of your platform.<br />Use the command './configure --help' to see the list of available options. <div class='vspace'></div></li><li>Issue the command <strong>'make all</strong>' to compile the code. <div class='vspace'></div></li><li>Optionally, issue the command <strong>'make check</strong>' to run the test suite.<br />Not all tests are currently passing, so you shouldn't be worried about a couple of failures. :-) <div class='vspace'></div></li><li>Issue the command <strong>'make install</strong>' to install the files. <div class='vspace'></div></li><li>You can issue the command <strong>'make clean</strong>' to free the disk space used during the build and test phases. <div class='vspace'></div></li><li>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.<br />You may need to install additional software components for a certain add-on.<br />As a reference, here is a brief summary list of those components: <ul><li><strong>Django</strong>, v1.2.1<br />A web application framework written in Python.<br />FrePPLe supports PostgreSQL, MySQL, Oracle and SQLite as the database.<br />In addition Django needs the Python database driver for your database, the apache web server (see <a target='_blank' class='urllink' href='http://httpd.apache.org/' rel='nofollow'>http://httpd.apache.org/</a>) and mod_wsgi (see <a target='_blank' class='urllink' href='http://code.google.com/p/modwsgi/' rel='nofollow'>http://code.google.com/p/modwsgi/</a>).<br />Visit the Django website at <a target='_blank' class='urllink' href='http://www.djangoproject.com/' rel='nofollow'>http://www.djangoproject.com/</a> for full details.<br />Later Django versions may or may not work with frePPLe... </li><li><strong>SWIG</strong>, any version should do <br />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. </li><li><strong>GLPK</strong>, any version should do <br />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 <a target='_blank' class='urllink' href='http://www.gnu.org/software/glpk/glpk.html' rel='nofollow'>http://www.gnu.org/software/glpk/glpk.html</a> </li></ul></li></ol><div class='indent'>The following components are only relevant when working in Windows: <ul><li><strong>NSIS</strong>, version greater or equal to 2.07 <br />NSIS, which stands for "Nullsoft Scriptable Installation System", is a free scriptable win32 installer/uninstaller system that doesn't suck and isn't huge. <br />This program can be downloaded from <a target='_blank' class='urllink' href='http://nsis.sf.net' rel='nofollow'>http://nsis.sf.net</a> and you'll only need it if you are planning to create a windows installation package. </li><li><strong>py2exe</strong>, 0.6.9 or later<br />Py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.<br />The software is used only when creating the windows installer. It can be downloaded from <a target='_blank' class='urllink' href='http://www.py2exe.org/' rel='nofollow'>http://www.py2exe.org/</a>. </li><li><strong>CherryPy</strong>, version 2.6 or later<br />CherryPy is a pythonic, object-oriented HTTP framework.<br />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 <a target='_blank' class='urllink' href='http://www.cherrypy.org/' rel='nofollow'>http://www.cherrypy.org/</a>. </li><li><strong>PyWin32</strong>, 214 or later<br />PyWin32 is an interface to Windows APIs from Python.<br />FrePPLe uses this component to run the CherryPy web server as a service. The download location is <a target='_blank' class='urllink' href='http://sourceforge.net/projects/pywin32/' rel='nofollow'>http://sourceforge.net/projects/pywin32/</a>. </li></ul></div><div class='vspace'></div><ol><li>Optionally, you can use the FREPPLE_HOME environment variable to point to your installation directory.<br /> See the section on <a class='wikilink' href='ModelingEnvVariables.html'>environment variables</a> for other environment variables that influence frePPLe and may need updating. </li></ol> </div> <!--PageFooterFmt--> <!--HTMLFooter--> </div></div> </body> </html>