wiki:BuildingFromSource

Version 1 (modified by ales, 3 years ago) (diff)

Building From Source

Prerequisites

To build orange from source you first have to make sure you have a C++ tool-chain installed on your system. Supported compilers are gcc (g++) for Linux and Mac OSX and Microsoft Visual C++ on Windows (MinGW is not supported at this time).

Additionally you will need python and numpy development header files. This comes included with python and numpy installation on Windows and Mac OSX, but is usually separated into separate packages on Linux, for instance 'python-dev' and python-numpy-dev' on Debian derived distributions.

Downloading the latest source snapshot

Go to nightly builds and download the latest nightly packed sources zip archive and unpack it somewhere (for instance in your home directory).

Alternatively you can checkout the sources from the svn (note that due to a different directory structure on svn than the one expected by the build environment this needs to be done in two steps to create the 'source' directory inside 'orange' directory).

svn co http://orange.biolab.si/svn/orange/trunk/orange orange
svn co http://orange.biolab.si/svn/orange/trunk/source orange/source

Build and Install

Using setup.py

The easiest way to build the orange library from source is to use the standard setup.py script in the root orange directory. Just run

python setup.py build

to build and

python setup.py install 

to install the library in the system site-packages. This may require administrative privileges. If you don't have them you can install Orange into the user specific site-packages (see  http://docs.python.org/install/index.html#how-installation-works for more information on installation schemes)

Using make

This is mostly only useful to developers intending to modify/develop orange C++ code (this can only build the extensions in-place, i.e. it does not support an install command)
First change the working directory to the 'source' sub-directory then run make

cd source
make

this will build the orange core extensions in the root directory (i.e. the one you started in).
TODO: list and document all the build options for external libraries (this is the reason why I started the page)