root/juggler/tags/2.0.1/INSTALL.html

Revision 18056, 34.3 kB (checked in by anonymous, 3 years ago)

This commit was manufactured by cvs2svn to create tag
'VRJ_RELENG_2_0_1_RELEASE'.

  • 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 2.0)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"></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 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="#d0e30">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e114">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="#section.cvs.access">How to Get the Juggler Suite from CVS</a></span></dt><dt><span class="section"><a href="#d0e216">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="#d0e302">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e313">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 2.0 of the Juggler
4     Project. This document explains how to build the modules of the Juggler
5     Project from the source code. We begin by explaining some issues related
6     to specific operating systems. We then explain how to get the source code
7     from our CVS repository. (Those users who downloaded a pre-packaged source
8     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
9     conclude with instructions on how to build VR Juggler and its individual
10     components.</p><p>Before reading further, we recommend that readers take a look at the
11     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>).
12     It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips
13     and reminders for those users building the CVS version of VR Juggler. It
14     is not a replacement for this document, nor can it stand on its own as
15     build instructions. You are reading the definitive build instructions; the
16     Wiki page merely provides informal, extra information.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e30"></a>Important Notes for IRIX Users</h3></div></div></div><p>Despite our best efforts, there are some issues related to
17       compiling the Juggler Project on IRIX. We introduce them in this section
18       and explain how to work around them.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e35"></a>Perl Version</h4></div></div></div><p>There are many Perl scripts used as part of getting,
19         configuring, and building the Juggler Suite of tools. In particular,
20         two scripts required for compiling need Perl 5.005 or newer. The
21         version of Perl that ships with IRIX 6.5 is very old (circa 1997) and
22         does not work with many Perl scripts we have written. SGI provides a
23         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
24         will be necessary to install that version for our scripts to work.
25         This version is typically installed as
26         <code class="filename">/usr/freeware/bin/perl</code>.</p><p>Once you have a modern Perl installed, you can run various Perl
27         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
28         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.
29 BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the
30         <code class="option">--with-perl</code> argument be passed to
31         <span><strong class="command">configure.pl</strong></span>. This argument gives all the
32         Autoconf-based configure scripts a hint about where the preferred
33         version of Perl lives. If using
34         <code class="filename">/usr/freeware/bin/perl</code> to run
35         <span><strong class="command">configure.pl</strong></span>, we recommend that the
36         <span><strong class="command">configure.pl</strong></span> command line appear similar to the
37         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
38         <span class="emphasis"><em>directory</em></span> where the <span><strong class="command">perl</strong></span>
39         executable can be found. The configure scripts will add this directory
40         to the front of the search path when trying to find a suitable
41         <span><strong class="command">perl</strong></span> executable. Once it is found, all the Perl
42         scripts used for configuration, compilation, and installation will use
43         that executable.</p><p>To simplify command execution somewhat, it can help to have
44         <code class="filename">/usr/freeware/bin</code> (or whatever path is
45         appropriate) in your path before <code class="filename">/bin</code> or
46         <code class="filename">/usr/bin</code> or any of the other myriad directories
47         where Perl might exist on IRIX. In such a situation, none of the above
48         extra steps should be necessary. The correct version of Perl will be
49         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="d0e98"></a>MIPSpro Compiler Version</h4></div></div></div><p>Reports have been made on the VR Juggler mailing list regarding
50         compile failures (including segmentation faults within the compiler)
51         occur when using the MIPSpro Compilers Version 7.3.1.1m. We have found
52         upgrading to Version 7.3.1.3m (or newer) fixes the problems.</p><p>A new feature of VR Juggler 1.1 and newer is support for GCC on
53         IRIX. Users who do not have MIPSpro or cannot upgrade can compile and
54         run VR Juggler (without OpenGL Performer support) using the version of
55         GCC 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>
56         for free. When configuring the source with
57         <span><strong class="command">configure.pl</strong></span> (described later), use the option
58         <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e114"></a>Important Note for Win32 Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not supported
59       by Visual 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>
60       the issues concerning noncompliance to the C++ Standard with Visual
61       Studio 6.0, and it appears that they have no plans to fix these
62       problems. Therefore, we require the use of Visual Studio 7.x (.NET 2002
63       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
64     code and the dependencies required to build Juggler. There are two ways to
65     get the source code: from a pre-packaged source release archive or from
66     the CVS repository on SourceForge. If you got the code from a pre-packaged
67     source archive, that code is a complete &#8220;<span class="quote">snapshot</span>&#8221; of the CVS
68     repository at the time of release. It contains all dependencies that would
69     otherwise have been acquired using CVS. It <span class="emphasis"><em>does not</em></span>
70     contain binary dependencies that must be downloaded separately (such as
71     NSPR, the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software packages
72     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>):
73         A lightweight, easy-to-use XML parser written in C++. CppDOM must be
74         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++
75         library providing many powerful utility classes and libraries. Boost
76         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
77         generic math library that makes use of C++ templates and STL
78         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>
79     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>):
80         The Netscape Portable Runtime, which can be used by VPR for threading
81         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
82         (or JDK) is used to compile all the Java code used in the Juggler
83         Project. Without it, none of the Java code can be built. We require
84         version 1.4 or newer. The Java Standard Edition (J2SE) can be
85         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
86         C++ implementation of CORBA 2.3, required for the Tweek C++
87         API.</p></li></ul></div><p>The following are fully optional packages that are primarily of
88     interest only to people doing development on the Juggler Suite
89     itself:</p><div class="itemizedlist"><ul type="disc"><li><p>JUnit (<a href="http://www.junit.org/" target="_top">http://www.junit.org/</a>): A unit
90         testing framework for Java.</p></li><li><p>CppUnit (<a href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>):
91         A unit testing framework for C++. The Juggler C++ test suties make use
92         of extensions to CppUnit. An extended version of the CppUnit source
93         that includes these extensions can be acquired from the Juggler CVS
94         repository in the module <code class="literal">cppunit</code>. Refer to <a href="#section.cvs.access" title="How to Get the Juggler Suite from CVS">the section called &#8220;How to Get the Juggler Suite from CVS&#8221;</a> for instructions about accessing the
95         Juggler CVS repository.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites
96     listed above and installed manually. You may also have to compile one or
97     more of the packages if binary distributions are not available. Which
98     packages you download depends on what you already have installed. Note
99     carefully which packages are needed based on the software you have
100     installed and what versions of tools (such as the JDK) that you
101     download.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.cvs.access"></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
102       tarball from the website (<a href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or
103       you can execute the following commands from a shell to get the code from
104       our CVS repository:</p><pre class="screen">cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/vrjuggler login
105 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="d0e216"></a>Downloading Third-Party Dependencies</h3></div></div></div><p>In addition to source the dependencies acquired through CVS, there
106       are some third-party dependencies that must be installed separately.
107       Remember that no Java code in VR Juggler can be used without the JDK and
108       a working Java version of CORBA.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e221"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing, is
109         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>.
110         To compile and install Boost, refer to its installation documentation
111         (<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>).
112         Note that you need the command <span><strong class="command">bjam</strong></span> (referred to as
113         &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to build
114         Boost.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e238"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source and
115         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>.
116         If a binary version is not available for your operating system you
117         must compile and install CppDOM yourself. Note that you need SCons
118         (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
119         to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e249"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or
120         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>.
121         Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
122         to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e260"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR for
123         operating system primitives. On some platforms (IRIX, FreeBSD, Linux,
124         Mac OS X), the use of NSPR is strictly optional. On others (Win32,
125         HP-UX, and Solaris), it is required. Based on your local system, you
126         should decide whether you need NSPR. Binary versions of NSPR can be
127         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>.
128         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="d0e268"></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++.
129         Java is used exclusively for GUIs such as Tweek and VRJConfig (which
130         is a JavaBean that is loaded into Tweek). To compile the Java code, a
131         JDK is necessary. We currently require version 1.4 or newer. The Java
132         Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.
133         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="d0e279"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required in
134         order to compile the Tweek C++ API. At this time, the Tweek C++ API is
135         not required for VR Juggler, but this situation will change in the
136         near future. At this time, we primarily use omniORB 4.0.x. omniORB can
137         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
138         made. Within the <code class="filename">bin</code> and <code class="filename">lib</code>
139         directories, there are platform-specific subdirectories that contain
140         the actual binaries (except when installed on FreeBSD via the Ports
141         Collection). Because of this, several extra options must be specified
142         in order to tell the Tweek configure script where to find everything.
143         Please refer to <a href="#tweek.build.section" title="Tweek">the section called &#8220;Tweek&#8221;</a> for more
144         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
145     focus on VR Juggler as a whole, but information about some of the
146     individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e302"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It
147       may not be stable, and it may not even compile. Compiling VR Juggler
148       itself can be a little complicated for anyone who does not have some
149       background in using CVS, Autoconf, C++, and <span><strong class="command">make</strong></span> or
150       Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e313"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of
151       the tools that make up VR Juggler. Each tool compiles to its own library
152       and can be installed individually. (Refer to the
153       <code class="filename">README</code> file in this directory for more information
154       about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio
155       solution. After getting the dependencies needed to compile VR Juggler
156       (see the next section), refer to the <a href="vc7/README.html" target="_top">README.html</a> file located in the
157       <code class="filename">vc7</code> subdirectory of this directory. Do not bother
158       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
159         configured. The Juggler Suite makes use of the well-known, widely used
160         GNU tools Autoconf and GNU Make. We provide a wrapper script written
161         in Perl called <span><strong class="command">configure.pl</strong></span> that gets the process
162         started.</p><p>The Juggler build is highly automated. The trickiest part is
163         telling the build where to find the third-party dependencies. This
164         part can be simplified, however, by installing the third-party
165         dependencies in the default location where the search will be
166         performed. In most cases, this is <code class="filename">/usr/local</code>, but
167         in others it is <code class="filename">/usr</code>. The default search location
168         is determined by whether the dependency is considered to be a
169         fundamental part of the operating system installation (such as OpenGL)
170         or if it is an &#8220;<span class="quote">add-on</span>&#8221; package (such as Boost, GMTL,
171         CppDOM, or omniORB).</p><div class="sidebar"><p>The distinction between <code class="filename">/usr/local</code> and
172           <code class="filename">/usr</code> is complicated by the fact that most Linux
173           distributions have <span class="emphasis"><em>everything</em></span> installed in
174           <code class="filename">/usr</code>. While Linux may be popular, it should not
175           (yet) be considered a model example of how to do things. In
176           traditional UN*X distributions (BSD and System V),
177           <code class="filename">/usr</code> is only used for the fundamental operating
178           system pieces; <code class="filename">/usr/local</code> is used for extra
179           bits. The Juggler build is based on these assumptions. Furthermore,
180           most open source software packages (e.g., Boost, omniORB, Perl,
181           Python) default to installing themselves in
182           <code class="filename">/usr/local</code>, which suggests that the authors of
183           those tools generally expect their software to be in
184           <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
185           have a &#8220;<span class="quote">global</span>&#8221; configure script written in Perl called
186           <span><strong class="command">configure.pl</strong></span>. To get the command-line options for
187           this script, use one of the following (the second being much more
188           detailed):</p><pre class="screen">./configure.pl --help
189 ./configure.pl --manual</pre><p>To configure your system, you will need to see what options
190           all the Autoconf-based configure scripts in VR Juggler need. To get
191           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
192               of the Juggler modules must be generated. This can be done
193               manually by running <span><strong class="command">autogen.sh</strong></span> in the
194               top-level <code class="filename">juggler</code> directory. It use is
195               simple:</p><pre class="screen">./autogen.sh</pre><p>This <span><strong class="command">autogen.sh</strong></span> script must be run from
196               the directory where it exists. Do not try to run it from a build
197               directory or any other place in the Juggler source tree. The
198               same holds for the individual <span><strong class="command">autogen.sh</strong></span>
199               scripts in the various modules, should you need to run one
200               individually.</p></div><p><span><strong class="command">configure.pl</strong></span> can run in a unique
201           &#8220;<span class="quote">build</span>&#8221; directory or in the directory where it resides.
202           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
203               reasons to do this away from the main source tree (though they
204               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
205               operating system and threading subsystem. Other examples could
206               be <code class="filename">build.irix.sproc</code>,
207               <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
208               when you must tell the module configure scripts where all the
209               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
210                 local CppDOM, GMTL, and Boost installations using the options
211                 <code class="option">--with-cppdom</code>, <code class="option">--with-gmtl</code>,
212                 and <code class="option">--with-boost</code> unless they are installed in
213                 the default location (<code class="filename">/usr/local</code>). By
214                 default, Boost 1.31 installs its header files in a
215                 subdirectory of <code class="filename">include</code> called
216                 <code class="filename">boost-1_31</code>. That is, if Boost is
217                 installed in <code class="filename">/home/user1/pkgs/boost</code>, the
218                 header files will be in
219                 <code class="filename">/home/user1/pkgs/boost/include/boost-1_31</code>.
220                 In this case, you must also specify the option
221                 <code class="option">--with-boost-includes=/home/user1/pkgs/boost/include/boost-1_31</code>
222                 when running <span><strong class="command">configure.pl</strong></span>.</p></div></li></ol></div><p>By default, the configuration process will configure VR
223           Juggler and all of its dependencies. This includes Sonix, which is
224           an interesting special case. Sonix can make use of Aaudiere, OpenAL,
225           or AudioWorks to add sound to VR Juggler applications. If none of
226           those packages is found, Sonix will &#8220;<span class="quote">stub out</span>&#8221; its
227           sound APIs. This means that Sonix and the VR Juggler Sound Manager
228           can still be used in applications, but no audio will be heard at run
229           time. See <a href="#sonix.compile.section" title="Sonix">the section called &#8220;Sonix&#8221;</a> for more
230           information about how to configure Sonix to use Audiere, OpenAL, or
231           AudioWorks.</p><p>For example uses of <span><strong class="command">configure.pl</strong></span>, take a
232           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>).
233           It is not a replacement for this document, but it shows how some
234           members of the Juggler team configure VR Juggler. It also has
235           information on more advanced uses of <span><strong class="command">configure.pl</strong></span>
236           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="d0e498"></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
237           depends on several external software packages. As an example,
238           consider the case where the GMTL library is installed in
239           <code class="filename">/home/user1/pkgs/GMTL</code> with the headers in
240           <code class="filename">/home/user1/pkgs/GMTL/include</code>. To use this
241           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
242           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
243         compiled. Remember that we require the use of GNU make 3.78 or
244         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
245             Juggler. For those who are not interested in developing VR Juggler
246             or its component modules, it is recommended that you install the
247             software and use the installed version for application
248             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
249       tools in the Juggler Suite are compiled correctly. For the most part,
250       this duplicates information that can be found on the Wiki page relating
251       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
252         (<a href="http://www.multigen.com/" target="_top">multigen.com</a>). At least
253         one of these packages must be installed for use by Sonix in order to
254         hear sounds in VR Juggler applications. Once you have all the
255