root/juggler/tags/2.0_alpha_2/INSTALL.txt

Revision 12111, 29.5 kB (checked in by patrickh, 6 years ago)

Regen.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
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    
Note: See TracBrowser for help on using the browser.