# OpenLibraries Installation from Source Notes

1. About
2. Download and Installation

## 1. About

Welcome to the OpenLibraries! A unified framework to develop real-time editing, visual effects and rich-media applications.

OpenLibraries are free to be applied for any purpose, including commercial usage and distribution. It's open-source software, released under LGPL. OpenLibraries are a true community effort and anyone is welcome to participate.

back to top

## 2. Download and Installation

###

### Downloading:

Installers for Windows and Linux distributions such as Fedora Core 4 and SUSE 10 are available from both the OpenLibraries web site http://www.openlibraries.org and from the OpenLibraries SourceForge web site. Other distributions can use the src rpm or a tarball. The OpenLibraries have hard (must be satisfied) dependencies on Boost (version 1.34) (www.boost.org) and GLEW (glew.sourceforge.net). These must be installed prior to OpenLibraries compilation. OpenLibraries assumes, on Windows, these libraries are installed on its default locations (as set by the respective projects). For reference purposes, GLEW goes into the appropriate Visual Studio directory and Boost is installed in C:\Boost.

The plugins that are being provided have dependencies on other libraries. A complete list is (in no particular order):

1. NVIDIA's Cg 1.4
2. FFMpeg
3. Autodesk FBX SDK 200508
4. NVIDIA Gelato
5. OpenAL

Some of these dependencies can be disabled by either disabling the respective project in the sln file or undefining the preprocessor symbol that controls its inclusion (to be moved into a user_config.hpp file).

OpenLibraries source code can be accessed from its SourceForge (www.sf.net) repository. For anonymous access,

1. cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/openlibraries login
2. cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/openlibraries co -P openlibraries

or, if running on Windows, with a CVS client such as TortoiseCVS.

### Compilation notes:

Windows: The current build system on Windows is based on Microsoft Visual Studio. The official version of the Visual Studio compiler supported by the OpenLibraries is 7.1 (or .NET 2003). However, OpenLibraries has build support for VC8 and Intel 9. There is a VC sln file for each of the libraries. The reason being is easy to manage per developer and minimises CVS conflicts. The libraries have dependencies between each other and therefore must be built in the appropriate order. In the future, a build script will be provided based on VCBuildTool to automate this procedure. The current order to build the libraries is the following:

1. OpenPluginLib
2. OpenImageLib
3. OpenMediaLib
4. OpenObjectLib
5. OpenEffectsLib
6. OpenAssetLib

The OpenMediaLib has further dependencies on FFmpeg (ffmpeg.sourceforge.net) and OpenAL (www.openal.org). OpenEffectsLib and OpenObjectLib also depend on NVIDIA's Cg toolkit (developer.nvidia.com/page/cg_main.html). The version is 1.4 (or any of its release candidates).

Installation on Windows is based on NSIS (nsis.sourceforge.net). Unfortunately, the NSIS build is still not functional (it will be very soon) so the installation is a bit broken at the moment. However, and to run the unit tests (and this includes the OpenLibraries media player) all of the libraries main *.dlls need to be copied onto the working directory of the test or somewhere in your PATH variable. Each plugin has its own XML description file. This is due to how the build system is set and not a limitation of the OpenPluginLib itself. Nothing prevents the use of a single XML file and binary installation will rely on a single XML file on Windows in the future. For each unit test there is a plugins directory onto which the plugins *.opl files and *.dll files must be copied. This is needed since the unit tests on Windows rely on a particular path to discover and initialise the plugins. Applications based on the OpenLibraries will use the installed one and plugin discovery will be based on the installed directory.

Linux: The Linux build uses the standard autoconf and automake tools. Installations (from CVS) must first call the bootstrap script, followed by configure. To compile do a make. Installation is done by a make install. All the usual configure script options are available. Some custom options may have to be specified depending on your linux distribution and package setup. The options --with-boostprefix, --with--boostversion and --with-boosttoolset. For example, with boost 1.34 in /usr/local and gcc, use --with-boostprefix= /usr/local --with-boostversion= 1_34 --with-boosttoolset= gcc. A make check will compile the unit tests. You can test the libraries functionality by running these tests.

OSX: Not all OpenLibraries are currently supported on Tiger (10.4). However, the build system is also be based on XCode 2.2. Needless to say the OSX platform is fully supported.

Currently, in CVS you can find a unit test used to exercise the OpenMediaLib player functionality. It is called store and can be found in test/openmedialib. The syntax for the player is the following: store < input > < store > where input is any string which can be mapped to an installed plugin (for example, file.avi, file.mpg, /path/*.jpg/sequence: etc) and store is any string which can be mapped to an installed store (for example, glew:, caca:, openal:, file.jpg/sequence: etc).

There is a more comprehensive player example called qtplayer which has to be manually built and uses the QT toolkit. To build it, you need to change directory to test/openmedialib/qtplayer and run qmake && make. The usage is simply ./qtplayer [ < input > ].

Thanks for reading, we hope you enjoy the OpenLibraries project!

Document version 1.0, 11 January 2006

back to top