| 1 |
Building and Installing the Juggler Project |
|---|
| 2 |
|
|---|
| 3 |
The Juggler Team |
|---|
| 4 |
|
|---|
| 5 |
$Date$ |
|---|
| 6 |
|
|---|
| 7 |
---------------------------------------------------------------------- |
|---|
| 8 |
|
|---|
| 9 |
Table of Contents |
|---|
| 10 |
|
|---|
| 11 |
Introduction |
|---|
| 12 |
|
|---|
| 13 |
Important Notes for IRIX Users |
|---|
| 14 |
|
|---|
| 15 |
Important Note for Win32 Users |
|---|
| 16 |
|
|---|
| 17 |
Getting the Source Code and the Dependencies |
|---|
| 18 |
|
|---|
| 19 |
How to Get the Juggler Suite and External Dependencies from |
|---|
| 20 |
CVS |
|---|
| 21 |
|
|---|
| 22 |
Using cvs-gather |
|---|
| 23 |
|
|---|
| 24 |
Downloading Binary Dependencies |
|---|
| 25 |
|
|---|
| 26 |
Compiling |
|---|
| 27 |
|
|---|
| 28 |
Important Note Regarding Compiling |
|---|
| 29 |
|
|---|
| 30 |
Compiling the Juggler Suite of Tools |
|---|
| 31 |
|
|---|
| 32 |
Compiling Individual Tools in the Juggler Suite |
|---|
| 33 |
|
|---|
| 34 |
Introduction |
|---|
| 35 |
|
|---|
| 36 |
This document explains how to build the modules of the Juggler Project |
|---|
| 37 |
from the source code. We begin by explaining some issues related to |
|---|
| 38 |
specific operating systems. We then explain how to get the source code |
|---|
| 39 |
from our CVS repository. (Those users who downloaded a pre-packaged source |
|---|
| 40 |
release can skip ahead to Section , "Using configure.pl"). We conclude |
|---|
| 41 |
with instructions on how to build VR Juggler and its individual |
|---|
| 42 |
components. |
|---|
| 43 |
|
|---|
| 44 |
Before reading further, we recommend that readers take a look at the Wiki |
|---|
| 45 |
page relating to building from CVS |
|---|
| 46 |
(http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromCvs). |
|---|
| 47 |
It is a supplement to this document containing tips and reminders for |
|---|
| 48 |
those users building the CVS version of VR Juggler. It is not a |
|---|
| 49 |
replacement for this document, nor can it stand on its own as build |
|---|
| 50 |
instructions. You are reading the definitive build instructions; the Wiki |
|---|
| 51 |
page merely provides informal, extra information. |
|---|
| 52 |
|
|---|
| 53 |
Important Notes for IRIX Users |
|---|
| 54 |
|
|---|
| 55 |
Despite our best efforts, there are some issues related to compiling the |
|---|
| 56 |
Juggler Project on IRIX. We introduce them in this section and explain how |
|---|
| 57 |
to work around them. |
|---|
| 58 |
|
|---|
| 59 |
Perl Version |
|---|
| 60 |
|
|---|
| 61 |
There are many Perl scripts used as part of getting, configuring, and |
|---|
| 62 |
building the Juggler Suite of tools. In particular, two scripts required |
|---|
| 63 |
for compiling need Perl 5.005 or newer. The version of Perl that ships |
|---|
| 64 |
with IRIX 6.5 is very old (circa 1997) and does not work with many Perl |
|---|
| 65 |
scripts we have written. SGI provides a much newer version of Perl (5.6.1) |
|---|
| 66 |
with their freeware tools (http://freeware.sgi.com/). It will be necessary |
|---|
| 67 |
to install that version for our scripts to work. This version is typically |
|---|
| 68 |
installed as /usr/freeware/bin/perl. |
|---|
| 69 |
|
|---|
| 70 |
Once you have a modern Perl installed, you can run various Perl scripts as |
|---|
| 71 |
follows: |
|---|
| 72 |
|
|---|
| 73 |
/usr/freeware/bin/perl <script-name> |
|---|
| 74 |
|
|---|
| 75 |
The above will be required any time a Perl script fails with an error |
|---|
| 76 |
similar to the following: |
|---|
| 77 |
|
|---|
| 78 |
Perl 5.005 required--this is only version 5.00404, stopped at ./configure.pl line 35. |
|---|
| 79 |
BEGIN failed--compilation aborted at ./configure.pl line 35. |
|---|
| 80 |
|
|---|
| 81 |
Furthermore, it is highly recommended that the --with-perl argument be |
|---|
| 82 |
passed to configure.pl. This argument gives all the Autoconf-based |
|---|
| 83 |
configure scripts a hint about where the preferred version of Perl lives. |
|---|
| 84 |
If using /usr/freeware/bin/perl to run configure.pl, we recommend that the |
|---|
| 85 |
configure.pl command line appear similar to the following: |
|---|
| 86 |
|
|---|
| 87 |
/usr/freeware/bin/perl configure.pl --with-perl=/usr/freeware/bin |
|---|
| 88 |
|
|---|
| 89 |
Note that the value given to --with-perl is the directory where the perl |
|---|
| 90 |
executable can be found. The configure scripts will add this directory to |
|---|
| 91 |
the front of the search path when trying to find a suitable perl |
|---|
| 92 |
executable. Once it is found, all the Perl scripts used for configuration, |
|---|
| 93 |
compilation, and installation will use that executable. |
|---|
| 94 |
|
|---|
| 95 |
To simplify command execution somewhat, it can help to have |
|---|
| 96 |
/usr/freeware/bin (or whatever path is appropriate) in your path before |
|---|
| 97 |
/bin or /usr/bin or any of the other myriad directories where Perl might |
|---|
| 98 |
exist on IRIX. In such a situation, none of the above extra steps should |
|---|
| 99 |
be necessary. The correct version of Perl will be found simply by virtue |
|---|
| 100 |
of it being early in your path. |
|---|
| 101 |
|
|---|
| 102 |
MIPSpro Compiler Version |
|---|
| 103 |
|
|---|
| 104 |
Reports have been made on the VR Juggler mailing list regarding compile |
|---|
| 105 |
failures (including segmentation faults within the compiler) occur when |
|---|
| 106 |
using the MIPSpro Compilers Version 7.3.1.1m. We have found upgrading to |
|---|
| 107 |
Version 7.3.1.3m (or newer) fixes the problems. |
|---|
| 108 |
|
|---|
| 109 |
A new feature of VR Juggler 1.1 is support for GCC on IRIX. Users who do |
|---|
| 110 |
not have MIPSpro or cannot upgrade can compile and run VR Juggler (without |
|---|
| 111 |
OpenGL Performer support) using the version of GCC distributed by SGI. It |
|---|
| 112 |
can be downloaded from http://freeware.sgi.com/index-by-alpha.html for |
|---|
| 113 |
free. When configuring the source with configure.pl (described later), use |
|---|
| 114 |
the option --with-gcc. |
|---|
| 115 |
|
|---|
| 116 |
Important Note for Win32 Users |
|---|
| 117 |
|
|---|
| 118 |
VR Juggler 1.1 uses a lot of C++ templates. Some components of the system |
|---|
| 119 |
will not compile with MS Visual Studio 6.0, and as a result, we currently |
|---|
| 120 |
require the use of Visual Studio 7 (.NET) to compile the source code. We |
|---|
| 121 |
understand that this is an inconvenience, and we are interested in methods |
|---|
| 122 |
for compiling the code with Visual Studio 6. However, due to VC6's poor |
|---|
| 123 |
support for templates and the C++ standard in general, users need to be |
|---|
| 124 |
aware that it may not be possible. |
|---|
| 125 |
|
|---|
| 126 |
VR Juggler and all its modules have a "unified" build system. That is, the |
|---|
| 127 |
same build system works on UNIX-based systems as on Win32. To do this, we |
|---|
| 128 |
require the use of Cygwin (http://sources.redhat.com/cygwin/download.html) |
|---|
| 129 |
to provide a build environment for all of the code found in this source |
|---|
| 130 |
tree. We also require the use of an extension to Cygwin that we call |
|---|
| 131 |
"juggler-tools". The archive may be downloaded from |
|---|
| 132 |
http://www.vrjuggler.org/download/juggler-tools.zip. After being |
|---|
| 133 |
installed, the juggler-tools directory should be added at the end of your |
|---|
| 134 |
path so that it adds to the Cygwin environment and does not conflict with |
|---|
| 135 |
it. |
|---|
| 136 |
|
|---|
| 137 |
Getting the Source Code and the Dependencies |
|---|
| 138 |
|
|---|
| 139 |
In this section, we explain how to get the Juggler Project source code and |
|---|
| 140 |
the dependencies required to build Juggler. There are two ways to get the |
|---|
| 141 |
source code: from a pre-packaged source release archive or from the CVS |
|---|
| 142 |
repository on SourceForge. If you got the code from a pre-packaged source |
|---|
| 143 |
archive, that code is a complete "snapshot" of the CVS repository at the |
|---|
| 144 |
time of release. It contains all dependencies that would otherwise have |
|---|
| 145 |
been acquired using CVS. It does not contain binary dependencies that must |
|---|
| 146 |
be downloaded separately (such as NSPR, JDOM, JDK, etc.). |
|---|
| 147 |
|
|---|
| 148 |
The current list of required software packages is as follows: |
|---|
| 149 |
|
|---|
| 150 |
o GMTL (http://ggt.sf.net/): A generic math library that makes use of |
|---|
| 151 |
C++ templates and STL paradigms. |
|---|
| 152 |
|
|---|
| 153 |
o CppDOM (http://www.sf.net/projects/xml-cppdom/): A lightweight, |
|---|
| 154 |
easy-to-use XML parser written in C++. |
|---|
| 155 |
|
|---|
| 156 |
o Boost (http://www.boost.org/): A C++ library providing many powerful |
|---|
| 157 |
utility classes and libraries. |
|---|
| 158 |
|
|---|
| 159 |
o Doozer++ (http://www.sf.net/projects/doozer/): A foundation for the |
|---|
| 160 |
development of complex build systems using Autoconf and GNU make. This |
|---|
| 161 |
is the basis for the entire Juggler Project build system. |
|---|
| 162 |
|
|---|
| 163 |
o Doozer (http://www.sf.net/projects/doozer/): A foundation for rapid |
|---|
| 164 |
makefile development based on GNU make. This is needed for building |
|---|
| 165 |
the sample VR Juggler applications. |
|---|
| 166 |
|
|---|
| 167 |
The following lists semi-optional packages: |
|---|
| 168 |
|
|---|
| 169 |
o NSPR (http://www.mozilla.org/projects/nspr/): The Netscape Portable |
|---|
| 170 |
Runtime, which can be used by VPR for threading and sockets (required |
|---|
| 171 |
on Win32, Solaris, and Mac OS X). |
|---|
| 172 |
|
|---|
| 173 |
o Java Developer Kit (http://java.sun.com/): The JDK is used to compile |
|---|
| 174 |
all the Java code used in the Juggler Project. Without it, none of the |
|---|
| 175 |
Java code can be built. We require version 1.3 or newer. The Java |
|---|
| 176 |
Standard Edition can be downloaded from http://java.sun.com/j2se/. |
|---|
| 177 |
|
|---|
| 178 |
o JDOM (http://www.jdom.org/): An XML parser for Java, needed for the |
|---|
| 179 |
Tweek Java GUI and for the VR Juggler configuration editor VRJConfig. |
|---|
| 180 |
|
|---|
| 181 |
o OpenORB (http://openorb.sourceforge.net/): A pure Java implementation |
|---|
| 182 |
of CORBA 2.3, required for the Tweek Java GUI. |
|---|
| 183 |
|
|---|
| 184 |
o omniORB (http://omniorb.sourceforge.net/): A C++ implementation of |
|---|
| 185 |
CORBA 2.3, required for the Tweek C++ API. |
|---|
| 186 |
|
|---|
| 187 |
In the following subsections, we describe how to get all of the above |
|---|
| 188 |
except JDK, JDOM, OpenORB, omniORB, and NSPR. These must be downloaded |
|---|
| 189 |
separately from the sites listed above. |
|---|
| 190 |
|
|---|
| 191 |
This remainder of this section is only for those users who want to get the |
|---|
| 192 |
Juggler Project source code from the CVS repository on SourceForge. Those |
|---|
| 193 |
users who have downloaded a pre-packaged version of the source should skip |
|---|
| 194 |
ahead to Section , "Using configure.pl". |
|---|
| 195 |
|
|---|
| 196 |
How to Get the Juggler Suite and External Dependencies from CVS |
|---|
| 197 |
|
|---|
| 198 |
You can optionally get the Juggler Project as a source code tarball from |
|---|
| 199 |
the website (http://www.vrjuggler.org/) or you can follow these steps to |
|---|
| 200 |
get the code from our CVS repository. |
|---|
| 201 |
|
|---|
| 202 |
Download in other formats:
|
|---|