This page discusses how to build the Magic Lantern SDK for Linux platforms using the C++ implementation.
The Linux build of the Magic Lantern SDK has the following dependencies:
These instructions assume the following
Set the variable MLE_HOME to reference the home of the Magic Lantern source. This document assumes that it is set to "$HOME/Projects/MagicLantern".
Set the variable MLE_ROOT to reference the root directory where the Magic Lantern components will be installed. This document assumes that it is set to "/usr/local".
Set the variable MLE_WORKPRINTS to the root directory where Magic Lantern Digital Workprints can be located. This document assumes that it is set to $HOME/Projects/MagicLantern.
The Magic Lantern Studio assumes that the Digital Workprints will be located under the $MLE_WORKPRINTS/workprints directory.
Set the TCL_HOME variable to the installation directory for ActiveTcl. For these instructions, use ~/bin/ActiveTcl-8.6.
Set the COINDIR variable to the installation directory for Coin3D. For these instructions, use ~/bin/Coin3D.
Set the FREEIMAGEDIR variable to the installation directory for FreeImage. For these instructions, use ~/bin/FreeImage/Dist.
To build the Magic Lantern components using the Eclipse C/C++ toolchain, use the following instructions.
Subversion is used for source code management. To install, use:
$ sudo apt-get install subversion
The following build toolchain is required:
$ apt-get install build-essential g++ automake autoconf gnu-standards autoconf-doc libtool gettext autoconf-archive gawk
The Java Development Kit is required to run the Eclipse IDE. These instructions may be used to install the JDK on an Ubuntu 14.04 LTS platform.
Download JDK 7u79 from Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Note that we are currently running with jdk-7u79-linux-i586.tar.gz (jdk-7u79-linux-x64.tar.gz for 64-bit platform).
Execute the following commands to reference the new JDK environment:
$ sudo mkdir /opt/java
$ sudo tar zxvf jdk-7u79-linux-i586.tar.gz -C /opt/java
$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.7.0_79/bin/java 0
$ sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.7.0_79/bin/javac 0
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
Update the environment by appending the following to "~/.bashrc":
export JAVA_HOME=/opt/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
The Eclipse development toolchain needs to be installed in the Ubuntu host development platform:
TCL is a requirement for the Magic Lantern mastering tools.
Using subversion, retrive the Magic Lantern source:
$ svn checkout svn://svn.code.sf.net/p/wz-mle/code/trunk wz-mle-code
These instructions build the Core util libraries for the Magic Lantern Studio tools using the Eclipse IDE.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlutil project.
In the Eclipse ProjectExplorer, right-click on the libmlutil project and select "Build Project" from the pop-up menu.
Note: Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/Core/util/linux/build") and then run "make distclean").
To install the library, right-click on the libmlutil project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlutil.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libmlutil.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Core math libraries for the Magic Lantern Studio tools, the Magic Lantern SDK for the OpenGL target, and the Magic Lantern Rehearsal Player. The Eclipse IDE development tool is used.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlmath project.
In the Eclipse ProjectExplorer, right-click on the libmlmath project and select "Build Project" from the pop-up menu.
Note: Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/Core/math/linux/libmlmath") and then run "make distclean").
To install the library, right-click on the libmlmath project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern SDK (OpenGL Target Platform) include
Library | Directory Location | Component |
---|---|---|
libmlmath.a | "$MLE_ROOT/lib/" | Magic Lantern SDK (Debug) |
libmlmath.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Digital Workprint libraries for the Magic Lantern Studio tools and Rehearsal Player using the Eclipse IDE.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libDWP project.
In the Eclipse ProjectExplorer, right-click on the libDWP project and select "Build Project" from the pop-up menu.
Note: Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/DigitalWorkprint/lib/linux") and then run "make distclean").
To install the library, right-click on the libDWP project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern SDK (OpenGL Target Platform) include
Library | Directory Location | Component |
---|---|---|
libDWP.a | "$MLE_ROOT/lib/" | Magic Lantern SDK (Debug) |
libDWP.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
The executable components that are built for the Magic Lantern SDK include
Executable | Directory Location | Component |
---|---|---|
DWPChecker.exe | "$MLE_ROOT/bin" | DWP Validation tool, Magic Lantern Studio (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Digital Playprint libraries for the Magic Lantern Studio tools using the Eclipse IDE.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libDPP project.
In the Eclipse ProjectExplorer, right-click on the libDPP project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libDPP project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libDPP.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libDPP.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions explain how to build the Digital Playprint runtime component employed by the Magic Lantern Studio mastering tools using the Eclipse IDE.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libplayprint project.
In the Eclipse ProjectExplorer, right-click on the libplayprint project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libplayprint project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libplayprint.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libplayprint.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions explain how to build the Digital Playprint library employed by the Magic Lantern Studio mastering tools. It also explains how to build the mastering tools.
Import the above Eclipse projects by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above Eclipse project.
In the Eclipse ProjectExplorer, right-click on the Eclipse project and select "Build Project" from the pop-up menu.
To install the library, right-click on the Eclipse project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libDPPGen.a | "$MLE_ROOT\lib" | Magic Lantern Studio Mastering Library (Debug) |
libDPPGend.so | "$MLE_ROOT\lib\" | Magic Lantern Studio Mastering Library (Debug) |
where MLE_ROOT is currently /usr/local.
The executable tools that are built include
Exectuable | Directory Location | Component |
---|---|---|
gentables.exe | "$MLE_ROOT\bin" | Generates the tables (source code) for the title (Debug) |
gengroup.exe | "$MLE_ROOT\bin" | Generates the Group chunks for the DPP (Debug) |
genscene.exe | "$MLE_ROOT\bin" | Generates the Scene chunks for the DPP (Debug) |
genmedia.exe | "$MLE_ROOT\bin" | Generates the MediaRef chunks for the DPP (Debug) |
gendppscript.exe | "$MLE_ROOT\bin" | Generates a TCL script for laying out the DPP (Debug) |
gendpp.exe | "$MLE_ROOT\bin" | Generates a DPP using the TCL script (Debug) |
dumpgroup.exe | "$MLE_ROOT\bin" | Dump the contents of a Group chunk (Debug) |
dumpmedia.exe | "$MLE_ROOT\bin" | Dump the contents of a MediaRef chunk (Debug) |
dumpscene.exe | "$MLE_ROOT\bin" | Dump the contenst of a Scene chunk (Debug) |
genmakefile.exe | "$MLE_ROOT\bin" | Generates a Makefile for the title (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern SDK Runtime Engine libraries for the OpenGL platform using the Eclipse IDE.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlert project.
In the Eclipse ProjectExplorer, right-click on the libmlert project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlert project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libmlert.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libmlert.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern Studio Authoring Toolkit for the Inventor platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above rehearsal project.
In the Eclipse ProjectExplorer, right-click on the libmleatk project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmleatk.a | "$MLE_ROOT/lib" | Magic Lantern Studio ATK (Debug) |
libmleatk.so | "$MLE_ROOT/lib" | Magic Lantern Studio ATK (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions discuss how to build the Properties and Digital Workprints for Magic Lantern SDK.
This distributes the props header files to "$MLE_ROOT/include/mle" and the props workprint files to "$MLE_ROOT/include/workprints".
Note: the current Makefiles are based on the Wizzer Works ISM (Independent Software Module) scripts and require them to be installed in the $MLE_ROOT/include/make directory. To install the ISM scripts, simply copy $MLE_HOME/include/make directory to $MLE_ROOT/include/make.
These instructions build the Magic Lantern Roles for the Inventor (Rehearsal) platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MleIvRoles project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libivroles.a | "$MLE_ROOT/lib" | Magic Lantern Studio SDK (Debug) |
libivroles.so | "$MLE_ROOT/lib" | Magic Lantern Studio SDK (Debug) |
MleIv2dRole.a | "$MLE_ROOT/lib" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv2dRole.so | "$MLE_ROOT/lib" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv3dRole.a | "$MLE_ROOT/lib" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
MleIv3dRole.so | "$MLE_ROOT/lib" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern Sets for the Inventor (Rehearsal) platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MleIvSets project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvSet.a | "$MLE_ROOT/lib" | Magic Lantern Studio Set for Inventor target (Debug) |
MleIvSet.so | "$MLE_ROOT/lib" | Magic Lantern Studio Set for Inventor target (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern MediaRefs for the Inventor (Rehearsal) platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MleMediaref project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
Mle3dModelMediaref.a | "$MLE_ROOT/lib" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dModelMediaref.so | "$MLE_ROOT/lib" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.a | "$MLE_ROOT/lib" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.so | "$MLE_ROOT/lib" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.a | "$MLE_ROOT/lib" | 3D Color Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.so | "$MLE_ROOT/lib" | 3D Color Map MediaRef for Inventor target (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern Stages for the Inventor (Rehearsal) platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MleIvStage project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvtage.a | "$MLE_ROOT/lib" | Stage for Inventor target (Debug) |
MleIvStage.so | "$MLE_ROOT/lib" | Stage for Inventor target (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern Actors for the Inventor (Rehearsal) platform.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MleActors project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleEscapeActor.a | "$MLE_ROOT/lib" | Escape Key Actor (Debug) |
MleEscapeActor.so | "$MLE_ROOT/lib" | Escape Key Actor (Debug) |
Mle3dCameraActor.a | "$MLE_ROOT/lib" | 3D Camera Actor (Debug) |
Mle3dCameraActor.so | "$MLE_ROOT/lib" | 3D Camera Actor (Debug) |
Mle2dImageActor.a | "$MLE_ROOT/lib" | Image Actor(Debug) |
Mle2dImageActor.so | "$MLE_ROOT/lib" | Image Actor (Debug) |
where MLE_ROOT is currently /usr/local.
These instructions build the Magic Lantern Rehearsal Player.
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the MlePlayers project and select "Build Project" from the pop-up menu.
The executable components that are built include
Library | Directory Location | Component |
---|---|---|
player | "$MLE_ROOT/bin" | Magic Lantern Rehearsal Player (Debug) |
Note: Make sure that $MLE_ROOT\bin is in your environment PATH.
Magic Lantern uses the Google Test framework to perform unit testing. For more information on setting up Google Test and executing test cases developed for Magic Lantern, please go to