root/juggler/tags/2.0_beta_2/INSTALL.html

Revision 16379, 33.7 kB (checked in by patrickh, 4 years ago)

Regenerate.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <html><head>
2       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3    <title>Building and Installing the Juggler Project (Version
4     1.1/2.0)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.67.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version
5     1.1/2.0)</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Win32 Users</a></span></dt></dl></dd><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e188">How to Get the Juggler Suite from CVS</a></span></dt><dt><span class="section"><a href="#d0e198">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e284">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e295">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler Suite</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e15"></a>Introduction</h2></div></div></div><p>You have downloaded the source code for Version 1.1 of the Juggler
6     Project. This is the code that will become VR Juggler 2.0, and it is the
7     code that is used to create the VR juggler 2.0 pre-releases. Please be
8     aware that this code represents a work in progress, and if you acquired it
9     directly from CVS rather than using a pre-packaged source code snapshot,
10     the code may have bugs affecting compilation and execution.</p><p>This document explains how to build the modules of the Juggler
11     Project from the source code. We begin by explaining some issues related
12     to specific operating systems. We then explain how to get the source code
13     from our CVS repository. (Those users who downloaded a pre-packaged source
14     release can skip ahead to <a href="#using.configure.pl" title="Using configure.pl">the section called &#8220;Using <span><strong class="command">configure.pl</strong></span>&#8221;</a>). We
15     conclude with instructions on how to build VR Juggler and its individual
16     components.</p><p>Before reading further, we recommend that readers take a look at the
17     Wiki page relating to building from CVS (<a href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs</a>).
18     It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips
19     and reminders for those users building the CVS version of VR Juggler. It
20     is not a replacement for this document, nor can it stand on its own as
21     build instructions. You are reading the definitive build instructions; the
22     Wiki page merely provides informal, extra information.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e32"></a>Important Notes for IRIX Users</h3></div></div></div><p>Despite our best efforts, there are some issues related to
23       compiling the Juggler Project on IRIX. We introduce them in this section
24       and explain how to work around them.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e37"></a>Perl Version</h4></div></div></div><p>There are many Perl scripts used as part of getting,
25         configuring, and building the Juggler Suite of tools. In particular,
26         two scripts required for compiling need Perl 5.005 or newer. The
27         version of Perl that ships with IRIX 6.5 is very old (circa 1997) and
28         does not work with many Perl scripts we have written. SGI provides a
29         much newer version of Perl (5.6.1) with their freeware tools (<a href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>). It
30         will be necessary to install that version for our scripts to work.
31         This version is typically installed as
32         <code class="filename">/usr/freeware/bin/perl</code>.</p><p>Once you have a modern Perl installed, you can run various Perl
33         scripts as follows:</p><pre class="screen">/usr/freeware/bin/perl &lt;script-name&gt;</pre><p>The above will be required any time a Perl script fails with an
34         error similar to the following:</p><pre class="screen">Perl 5.005 required--this is only version 5.00404, stopped at ./configure.pl line 35.
35 BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the
36         <code class="option">--with-perl</code> argument be passed to
37         <span><strong class="command">configure.pl</strong></span>. This argument gives all the
38         Autoconf-based configure scripts a hint about where the preferred
39         version of Perl lives. If using
40         <code class="filename">/usr/freeware/bin/perl</code> to run
41         <span><strong class="command">configure.pl</strong></span>, we recommend that the
42         <span><strong class="command">configure.pl</strong></span> command line appear similar to the
43         following:</p><pre class="screen">/usr/freeware/bin/perl configure.pl --with-perl=/usr/freeware/bin</pre><p>Note that the value given to <code class="option">--with-perl</code> is the
44         <span class="emphasis"><em>directory</em></span> where the <span><strong class="command">perl</strong></span>
45         executable can be found. The configure scripts will add this directory
46         to the front of the search path when trying to find a suitable
47         <span><strong class="command">perl</strong></span> executable. Once it is found, all the Perl
48         scripts used for configuration, compilation, and installation will use
49         that executable.</p><p>To simplify command execution somewhat, it can help to have
50         <code class="filename">/usr/freeware/bin</code> (or whatever path is
51         appropriate) in your path before <code class="filename">/bin</code> or
52         <code class="filename">/usr/bin</code> or any of the other myriad directories
53         where Perl might exist on IRIX. In such a situation, none of the above
54         extra steps should be necessary. The correct version of Perl will be
55         found simply by virtue of it being early in your path.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e100"></a>MIPSpro Compiler Version</h4></div></div></div><p>Reports have been made on the VR Juggler mailing list regarding
56         compile failures (including segmentation faults within the compiler)
57         occur when using the MIPSpro Compilers Version 7.3.1.1m. We have found
58         upgrading to Version 7.3.1.3m (or newer) fixes the problems.</p><p>A new feature of VR Juggler 1.1 is support for GCC on IRIX.
59         Users who do not have MIPSpro or cannot upgrade can compile and run VR
60         Juggler (without OpenGL Performer support) using the version of GCC
61         distributed by SGI. It can be downloaded from <a href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a>
62         for free. When configuring the source with
63         <span><strong class="command">configure.pl</strong></span> (described later), use the option
64         <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Win32 Users</h3></div></div></div><p>VR Juggler 1.1 uses a lot of C++ features not supported by Visual
65       Studio 6.0. Microsoft <a href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q243/4/51.asp&amp;NoWebContent=1" target="_top">acknowledges</a>
66       the issues concerning noncompliance to the C++ Standard with Visual
67       Studio 6.0, and it appears that they have no plans to fix these
68       problems. Therefore, we require the use of Visual Studio 7.x (.NET 2002
69       or 2003) to compile the source code.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="source.code.section"></a>Getting the Source Code and the Dependencies</h2></div></div></div><p>In this section, we explain how to get the Juggler Project source
70     code and the dependencies required to build Juggler. There are two ways to
71     get the source code: from a pre-packaged source release archive or from
72     the CVS repository on SourceForge. If you got the code from a pre-packaged
73     source archive, that code is a complete &#8220;<span class="quote">snapshot</span>&#8221; of the CVS
74     repository at the time of release. It contains all dependencies that would
75     otherwise have been acquired using CVS. It <span class="emphasis"><em>does not</em></span>
76     contain binary dependencies that must be downloaded separately (such as
77     NSPR, the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software packages
78     is as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM (<a href="http://www.sourceforge.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>):
79         A lightweight, easy-to-use XML parser written in C++. CppDOM must be
80         compiled and installed for use with VR Juggler.</p></li><li><p>Boost (<a href="http://www.boost.org/" target="_top">http://www.boost.org/</a>): A C++
81         library providing many powerful utility classes and libraries. Boost
82         must be compiled and installed for use with VR Juggler.</p></li><li><p>GMTL (<a href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A
83         generic math library that makes use of C++ templates and STL
84         paradigms. GMTL must be installed for use with VR Juggler.</p></li></ul></div><p>The following lists <span class="emphasis"><em>semi-optional</em></span>
85     packages:</p><div class="itemizedlist"><ul type="disc"><li><p>NSPR (<a href="http://www.mozilla.org/projects/nspr/" target="_top">http://www.mozilla.org/projects/nspr/</a>):
86         The Netscape Portable Runtime, which can be used by VPR for threading
87         and sockets (required on Win32 and Solaris).</p></li><li><p>Java Developer Kit (<a href="http://java.sun.com/" target="_top">http://java.sun.com/</a>): The J2SE SDK
88         (or JDK) is used to compile all the Java code used in the Juggler
89         Project. Without it, none of the Java code can be built. We require
90         version 1.4 or newer. The Java Standard Edition (J2SE) can be
91         downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.</p></li><li><p>omniORB (<a href="http://www.jdom.org/" target="_top">http://omniorb.sourceforge.net/</a>): A
92         C++ implementation of CORBA 2.3, required for the Tweek C++
93         API.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites
94     listed above and installed manually. You may also have to compile one or
95     more of the packages if binary distributions are not available. Which
96     packages you download depends on what you already have installed. Note
97     carefully which packages are needed based on the software you have
98     installed and what versions of tools (such as the JDK) that you
99     download.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e188"></a>How to Get the Juggler Suite from CVS</h3></div></div></div><p>You can optionally get the Juggler Project as a source code
100       tarball from the website (<a href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or
101       you can execute the following commands from a shell to get the code from
102       our CVS repository:</p><pre class="screen">cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/vrjuggler login
103 cvs -z3 -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/vrjuggler co juggler</pre></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e198"></a>Downloading Third-Party Dependencies</h3></div></div></div><p>In addition to source the dependencies acquired through CVS, there
104       are some third-party dependencies that must be installed separately.
105       Remember that no Java code in VR Juggler can be used without the JDK and
106       a working Java version of CORBA.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e203"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing, is
107         1.31.0. The Boost source can be downloaded from <a href="http://www.sf.net/projects/boost/" target="_top">http://www.sf.net/projects/boost/</a>.
108         To compile and install Boost, refer to its installation documentation
109         (<a href="http://www.boost.org/more/getting_started.html#Build_Install" target="_top">http://www.boost.org/more/getting_started.html#Build_Install</a>).
110         Note that you need the command <span><strong class="command">bjam</strong></span> (referred to as
111         &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to build
112         Boost.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e220"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source and
113         binary distributions for some platforms can be downloaded from <a href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>.
114         If a binary version is not available for your operating system you
115         must compile and install CppDOM yourself. Note that you need SCons
116         (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
117         to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e231"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or
118         newer. The source distribution can be downloaded from <a href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>.
119         Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
120         to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e242"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR for
121         operating system primitives. On some platforms (IRIX, FreeBSD, Linux,
122         Mac OS X), the use of NSPR is strictly optional. On others (Win32,
123         HP-UX, and Solaris), it is required. Based on your local system, you
124         should decide whether you need NSPR. Binary versions of NSPR can be
125         downloaded from <a href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases" target="_top">ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases</a>.
126         At this time, we recommend the use of version 4.2 or newer.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e250"></a>Java Developer Kit (also called the J2SE SDK)</h4></div></div></div><p>We make use of the Java programming language in addition to C++.
127         Java is used exclusively for GUIs such as Tweek and VRJConfig (which
128         is a JavaBean that is loaded into Tweek). To compile the Java code, a
129         JDK is necessary. We currently require version 1.4 or newer. The Java
130         Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.
131         More information can be found at <a href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e261"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required in
132         order to compile the Tweek C++ API. At this time, the Tweek C++ API is
133         not required for VR Juggler, but this situation will change in the
134         near future. At this time, we primarily use omniORB 4.0.x. omniORB can
135         be downloaded from <a href="http://omniorb.sourceforge.net/" target="_top">http://omniorb.sourceforge.net/</a>.</p><p>omniORB 3.0 has strange conventions for how installations are
136         made. Within the <code class="filename">bin</code> and <code class="filename">lib</code>
137         directories, there are platform-specific subdirectories that contain
138         the actual binaries (except when installed on FreeBSD via the Ports
139         Collection). Because of this, several extra options must be specified
140         in order to tell the Tweek configure script where to find everything.
141         Please refer to <a href="#tweek.build.section" title="Tweek">the section called &#8220;Tweek&#8221;</a> for more
142         details on this.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compile.section"></a>Compiling</h2></div></div></div><p>In this section, we describe how to compile the Juggler Project. We
143     focus on VR Juggler as a whole, but information about some of the
144     individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e284"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It
145       may not be stable, and it may not even compile. Compiling VR Juggler
146       itself can be a little complicated for anyone who does not have some
147       background in using CVS, Autoconf, C++, and <span><strong class="command">make</strong></span> or
148       Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e295"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of
149       the tools that make up VR Juggler. Each tool compiles to its own library
150       and can be installed individually. (Refer to the
151       <code class="filename">README</code> file in this directory for more information
152       about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio
153       solution. After getting the dependencies needed to compile VR Juggler
154       (see the next section), refer to the <a href="vc7/README.html" target="_top">README.html</a> file located in the
155       <code class="filename">vc7</code> subdirectory of this directory. Do not bother
156       to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="config.vrjuggler.section"></a>Configuring the Juggler Build</h4></div></div></div><p>We now explain the process by which the Juggler build is
157         configured. The Juggler Suite makes use of the well-known, widely used
158         GNU tools Autoconf and GNU Make. We provide a wrapper script written
159         in Perl called <span><strong class="command">configure.pl</strong></span> that gets the process
160         started.</p><p>The Juggler build is highly automated. The trickiest part is
161         telling the build where to find the third-party dependencies. This
162         part can be simplified, however, by installing the third-party
163         dependencies in the default location where the search will be
164         performed. In most cases, this is <code class="filename">/usr/local</code>, but
165         in others it is <code class="filename">/usr</code>. The default search location
166         is determined by whether the dependency is considered to be a
167         fundamental part of the operating system installation (such as OpenGL)
168         or if it is an &#8220;<span class="quote">add-on</span>&#8221; package (such as Boost, GMTL,
169         CppDOM, or omniORB).</p><div class="sidebar"><p>The distinction between <code class="filename">/usr/local</code> and
170           <code class="filename">/usr</code> is complicated by the fact that most Linux
171           distributions have <span class="emphasis"><em>everything</em></span> installed in
172           <code class="filename">/usr</code>. While Linux may be popular, it should not
173           (yet) be considered a model example of how to do things. In
174           traditional UN*X distributions (BSD and System V),
175           <code class="filename">/usr</code> is only used for the fundamental operating
176           system pieces; <code class="filename">/usr/local</code> is used for extra
177           bits. The Juggler build is based on these assumptions. Furthermore,
178           most open source software packages (e.g., Boost, omniORB, Perl,
179           Python) default to installing themselves in
180           <code class="filename">/usr/local</code>, which suggests that the authors of
181           those tools generally expect their software to be in
182           <code class="filename">/usr/local</code>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="using.configure.pl"></a>Using <span><strong class="command">configure.pl</strong></span></h5></div></div></div><p>In the base <code class="filename">juggler</code> source directory, we
183           have a &#8220;<span class="quote">global</span>&#8221; configure script written in Perl called
184           <span><strong class="command">configure.pl</strong></span>. To get the command-line options for
185           this script, use one of the following (the second being much more
186           detailed):</p><pre class="screen">./configure.pl --help
187 ./configure.pl --manual</pre><p>To configure your system, you will need to see what options
188           all the Autoconf-based configure scripts in VR Juggler need. To get
189           this text, enter:</p><pre class="screen">./configure.pl --all-help</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>In order for this to work, the configure script for each
190               of the Juggler modules must be generated. This can be done
191               manually by running <span><strong class="command">autogen.sh</strong></span> in the
192               top-level <code class="filename">juggler</code> directory. It use is
193               simple:</p><pre class="screen">./autogen.sh</pre><p>This <span><strong class="command">autogen.sh</strong></span> script must be run from
194               the directory where it exists. Do not try to run it from a build
195               directory or any other place in the Juggler source tree. The
196               same holds for the individual <span><strong class="command">autogen.sh</strong></span>
197               scripts in the various modules, should you need to run one
198               individually.</p></div><p><span><strong class="command">configure.pl</strong></span> can run in a unique
199           &#8220;<span class="quote">build</span>&#8221; directory or in the directory where it resides.
200           Here is how we (the Juggler Team) have been using it:</p><div class="orderedlist"><ol type="1"><li><p>Make a directory for compiling. There are many good
201               reasons to do this away from the main source tree (though they
202               will not be listed here).</p><pre class="screen">mkdir build.linux.posix</pre><p>This example using an ad hoc naming convention based on
203               operating system and threading subsystem. Other examples could
204               be <code class="filename">build.irix.sproc</code>,
205               <code class="filename">build.solaris.nspr</code>, etc.</p></li><li><p>Enter the new build directory.</p><pre class="screen">cd build.linux.posix</pre></li><li><p>Configure all the modules making up VR Juggler. This is
206               when you must tell the module configure scripts where all the
207               package dependencies are found.</p><pre class="screen">../configure.pl --prefix=$HOME/vrjuggler-2.0 --with-java-orb=JDK</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>You will probably have to specify the paths to your
208                 local CppDOM, GMTL, and Boost installations using the options
209                 <code class="option">--with-cppdom</code>, <code class="option">--with-gmtl</code>,
210                 and <code class="option">--with-boost</code> unless they are installed in
211                 the default location (<code class="filename">/usr/local</code>). By
212                 default, Boost 1.31 installs its header files in a
213                 subdirectory of <code class="filename">include</code> called
214                 <code class="filename">boost-1_31</code>. That is, if Boost is
215                 installed in <code class="filename">/home/user1/pkgs/boost</code>, the
216                 header files will be in
217                 <code class="filename">/home/user1/pkgs/boost/include/boost-1_31</code>.
218                 In this case, you must also specify the option
219                 <code class="option">--with-boost-includes=/home/user1/pkgs/boost/include/boost-1_31</code>
220                 when running <span><strong class="command">configure.pl</strong></span>.</p></div></li></ol></div><p>By default, the configuration process will configure VR
221           Juggler and all of its dependencies. This includes Sonix, which is
222           an interesting special case. Sonix can make use of Aaudiere, OpenAL,
223           or AudioWorks to add sound to VR Juggler applications. If none of
224           those packages is found, Sonix will &#8220;<span class="quote">stub out</span>&#8221; its
225           sound APIs. This means that Sonix and the VR Juggler Sound Manager
226           can still be used in applications, but no audio will be heard at run
227           time. See <a href="#sonix.compile.section" title="Sonix">the section called &#8220;Sonix&#8221;</a> for more
228           information about how to configure Sonix to use Audiere, OpenAL, or
229           AudioWorks.</p><p>For example uses of <span><strong class="command">configure.pl</strong></span>, take a
230           look at the Wiki page relating to building from CVS (<a href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs</a>).
231           It is not a replacement for this document, but it shows how some
232           members of the Juggler team configure VR Juggler. It also has
233           information on more advanced uses of <span><strong class="command">configure.pl</strong></span>
234           that are beyond the scope of this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e480"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a href="#source.code.section" title="Getting the Source Code and the Dependencies">the section called &#8220;Getting the Source Code and the Dependencies&#8221;</a>, VR Juggler
235           depends on several external software packages. As an example,
236           consider the case where the GMTL library is installed in
237           <code class="filename">/home/user1/pkgs/GMTL</code> with the headers in
238           <code class="filename">/home/user1/pkgs/GMTL/include</code>. To use this
239           installation, run <span><strong class="command">configure.pl</strong></span> as follows:</p><pre class="screen">../configure.pl --with-gmtl=/home/user1/pkgs/GMTL</pre><p>The <code class="option">--with-gmtl</code> option could of course be
240           mixed in with those shown in the previous section.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="compile.vrjuggler.section"></a>Compiling VR Juggler</h4></div></div></div><p>Once the configuration process is complete, the code can be
241         compiled. Remember that we require the use of GNU make 3.78 or
242         newer.</p><div class="orderedlist"><ol type="1"><li><p>Compile the source tree using GNU make.</p><pre class="screen">gmake build</pre></li><li><p>Once this completes, you will have a full build of VR
243             Juggler. For those who are not interested in developing VR Juggler
244             or its component modules, it is recommended that you install the
245             software and use the installed version for application
246             development. Do this as follows:</p><pre class="screen">gmake install</pre></li></ol></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="compile.individual.section"></a>Tips for Compiling Individual Tools in the Juggler Suite</h3></div></div></div><p>In this section, we provide tips for ensuring that individual
247       tools in the Juggler Suite are compiled correctly. For the most part,
248       this duplicates information that can be found on the Wiki page relating
249       to building from CVS (<a href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs</a>).</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sonix.compile.section"></a>Sonix</h4></div></div></div><p>Sonix wraps other audio subsystems such as OpenAL (<a href="http://www.openal.org/" target="_top">www.openal.org</a>), Audiere (<a href="http://audiere.sf.net/" target="_top">audiere.sf.net</a>), or AudioWorks
250         (<a href="http://www.multigen.com/" target="_top">multigen.com</a>). At least
251         one of these packages must be installed for use by Sonix in order to
252         hear sounds in VR Juggler applications. Once you have all the
253         necessary source code and third-party package installations, add one
254         or more of the following options to your
255         <span><strong class="command">configure.pl</strong></span> command line to enable the appropriate
256         audio subsystem:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="option">--enable-openal
257             --with-openal=&lt;OPENAL_PATH&gt;</code>: Enable the use of
258             OpenAL and tell the build where OpenAL is installed. The default
259             search path is <code class="filename">/usr/local</code>.</p></li><li><p><code class="option">--enable-audiere
260             --w