wiki:SEMAINE-2.0-Compile

Compiling SEMAINE-2.0 components from source code

Linux and Mac OS X

On linux, the Opensmile SEMAINE component can be built from the SEMAINE-2.0-source package. All third-party software required to run the system is open source software, and is already included in the install package.

To build the system, a number of standard build tools need to be installed: gcc, automake, etc. To install them on an Ubuntu Linux system, type:

sudo apt-get install automake autoconf gcc g++ libasound2-dev make libtool patch libx11-dev

To compile the required third-party software, the SEMAINE API and opensmile, go to the SEMAINE-2.0 directory and type:

bin/buildall.sh

Compilation may take an hour. The configuration file bin/buildall/modules.config is the most important file to configure the build process if needed.

We have tested this on Ubuntu Linux 9.10 and on Mac OS X 10.5.8 with the autotools installed via MacPorts.

Java

The SEMAINE-2.0-java components require Java 1.6.

To recompile Java code, get the Java Software Development Kit (JDK) from http://java.sun.com/javase/downloads/index.jsp, as well as the ant build tool, available from http://ant.apache.org/. If you like to edit source code with Eclipse, there is also an Eclipse project for the java components in SEMAINE-2.0/java.

The source code of MARY TTS is available from http://mary.dfki.de -- the MARY 4.0 installer includes an optional source package. Alternatively, the source code is available by anonymous svn as described on http://mary.opendfki.de. To compile, run ant in the top-level MARY directory.

Windows

If you want to build the components from the source code, you need to install a Visual C++ 2005 build environment and third-party software as follows.

Visual C++ 2005 build environment

Remember where the Platform SDK gets installed -- e.g., C:\Program Files\Microsoft SDKs\Windows\v6.1. To make sure that Visual C++ uses this version of the Platform SDK in compiling the code, proceed as follows.

  • In Visual C++, go to "Tools"->"Options..."->"Projects and Solutions"->"VC++ Directories".
  • From "Show directories for", select "Include files". Click the "new line" button and add the "Include" subdirectory of the Platform SDK, e.g. "C:\Program Files\Microsoft SDKs\Windows\v6.1\Include".
  • From "Show directories for", select "Library files". Click the "new line" button and add the "Lib" subdirectory of the Platform SDK, e.g. "C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib".

Third-party software dependencies

  1. ActiveMQ-CPP

This is the C++ client for the Java Messaging Service server ActiveMQ. Download ActiveMQ-CPP from http://activemq.apache.org/cms/. At least version 2.2.1 is required.

Preconditions: APR and APR-util. The easiest way to get these in binary form is to get a binary version of the Apache2 web server, e.g. from http://httpd.apache.org/download.cgi. In the installer, select "Custom install", and make sure "Build headers and libraries" is installed. Remember where you install it -- e.g., c:\Program Files\Apache2.

Building using Visual C++ 2005 Express: The project file we need is activemq-cpp-2.2.1\vs2005-build\vs2005-activemq.vcproj.

I had to adjust include and link settings:

  • Open the project property page in Visual C++ by right-clicking vs2005-activemq and selecting "Properties".
  • In the C/C++ settings, make sure that "Additional Include Directories" has an entry to the include files for APR; if you installed them as part of Apache2 into C:\Program Files\Apache2, then the directory to list here is C:\Program Files\Apache2\include;
  • Now this should compile OK and create a static library ....\activemq-cpp-2.2.1\vs2005-build\Debug\libactivemq-cppd.lib.
  • You can test that lib by trying to compile vs2005-activemq-examples.vcproj. Set the "Additional Include Directories" to the same value as for vs2005-activemq.vcproj, and the Linker->"Additional Library Directories" to, e.g., "C:\Program Files\Apache2\include". When you build that, it should create a file ....\activemq-cpp-2.2.1\vs2005-build\Debug\vs2005-activemq-example.exe.
  1. Xerces-C

This is a standards-compliant XML parser. Install Xerces-C from http://xerces.apache.org/xerces-c/. Binary releases exist for very many platforms. For windows, you must use xerces-c-3.0.1-x86-windows-vc-8.0.zip. Unzip into a folder, and rename it to xerces-c-src so that the include files are in xerces-c-src\include and the lib files in xerces-c-src\lib.

  1. XQilla

This tool provides XPath expressions support for C++. There is currently no binary release, so it must be built from source. It depends on Xerces-C, so you need to make sure you follow the instructions at http://xqilla.sourceforge.net/WindowsBuild to make sure the dependency from XQilla to Xerces-C is met. Hint: Unpacking xquilla in the parent folder of xerces-c-src will save you some effort. If you get build errors, double-check your include and linker settings.

Building the SEMAINE API

The build files for the SEMAINE API are located in SEMAINE-2.0\c++\vs2005.

You will need to adapt paths to your setup as follows:

  • Open the project property page by right-clicking the project "semaine" and selecting "Properties".
  • C/C++ settings, the "Additional Include Directories" must contain the following entries:

(i) the source folder of the current project, as "."

(ii) the APR include folder, e.g. C:\Program Files\Apache2\include

(iii) the location of the ActiveMQ-CPP sources, ...activemq-cpp-2.2.1\src\main

(iv) the Xerces include folder, ...\xerces-c-src\include

(v) the XQilla include folder, ...\xqilla\include

  • Linker settings, the "Additional Library Directories" must contain

(i) the location where libapr-1.lib and libaprutil-1.lib can be found, e.g. C:\Program Files\Apache2\lib

(ii) the output folder of ActiveMQ-CPP, containing libactivemq-cppd.lib, e.g. ...\activemq-cpp-2.2.1\vs2005-build\Debug

(iii) the Xerces lib folder, ...\xerces-c-src\lib

(iv) the XQilla lib folder, ...\xqilla\Lib

Building OpenSMILE

The build files and detailed build instructions for Opensmile are located in SEMAINE-2.0\c++\src\tum\auxiliary\build.

Building Greta

The source code of Greta can be obtained from https://trac.telecom-paristech.fr/trac/project/greta/downloader/ . Greta is easy to build once the environment is set up properly; there is a solution file called GretaApplications\GretaActive\MSVC\GretaActiveAll.sln which will build all sub-projects.

Last modified 8 years ago Last modified on 01/18/10 15:30:10