TWiki home VRJ Wiki > Juggler > BuildingFromSvn (r1.1 vs. r1.35) VRJ Wiki webs:
Juggler | VRJPlanning | Main | TWiki | Test
Juggler . { Home | Changes | Index | Search | Go }
 <<O>>  Difference Topic BuildingFromSvn (r1.35 - 11 Aug 2006 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 192 to 192

omniORB for i386 and PCC

Added:
>
>
IMPORTANT: The omniORB build does not currently support creating universal binaries on Mac OS X. While the commands shown below will create universala binaries for PowerPC and i386, the PowerPC binaries at least will not function correctly due to the endianness of the hardware being detected incorrectly. It is not known if the i386 binaries built from the commands below work. The most likely way of creating universal binaries for omniORB is to make separate builds on a PowerPC Mac and on an i386 Mac and then combine them using lipo.

CC='gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4' CXX='g++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4'  CPP='gcc -E -traditional-cpp' CXXCPP='g++ -E' ./configure --prefix=...
make

 <<O>>  Difference Topic BuildingFromSvn (r1.34 - 25 Jun 2006 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 155 to 155

% CC=cc CXX="CC -LANG:std" ./configure --prefix=/some/install/path
Added:
>
>

Universal Binaries on Mac OS X

Boost for i386 and PPC

To target i386 from PowerPC:

PYTHON_VERSION=2.3 bjam -sTOOLS=darwin "-sBUILD=debug release <runtime-link>static/dynamic <threading>single/multi <cxxflags>-arch <cxxflags>i386 <cxxflags>-isysroot <cxxflags>/Developer/SDKs/MacOSX10.4u.sdk <linkflags>-arch <linkflags>i386 <linkflags>-isysroot <linkflags>/Developer/SDKs/MacOSX10.4u.sdk" install --prefix=$HOME/boost-1.33.1-i386
rm -rf bin
PYTHON_VERSION=2.3 bjam -sTOOLS=darwin install --prefix=$HOME/boost-1.33.1-ppc

To target PowerPC from i386:

PYTHON_VERSION=2.3 bjam -sTOOLS=darwin "-sBUILD=debug release <runtime-link>static/dynamic <threading>single/multi <cxxflags>-arch <cxxflags>ppc <cxxflags>-isysroot <cxxflags>/Developer/SDKs/MacOSX10.4u.sdk <linkflags>-arch <linkflags>ppc <linkflags>-isysroot <linkflags>/Developer/SDKs/MacOSX10.4u.sdk" install --prefix=$HOME/boost-1.33.1-ppc
rm -rf bin
PYTHON_VERSION=2.3 bjam -sTOOLS=darwin install --prefix=$HOME/boost-1.33.1-i386

To create the universal binaries:

cd $HOME
mkdir -p boost-1.33.1-universal/lib
cd boost-1.33.1-i386/lib
foreach f ( * )
lipo -create $HOME/boost-1.33.1-ppc/lib/$f $f -output $HOME/boost-1.33.1-universal/lib/$f
end
cd ..
mv include $HOME/boost-1.33.1-universal
cd $HOME
rm -rf boost-1.33.1-ppc boost-1.33.1-i386

omniORB for i386 and PCC

CC='gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4' CXX='g++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4'  CPP='gcc -E -traditional-cpp' CXXCPP='g++ -E' ./configure --prefix=...
make
make install

CppDOM for i386 and PPC

scons optimize=yes universal=yes sdk=/Developer/SDKs/MacOSX10.4u.sdk prefix=... install

Tips for Using configure.pl

When specifying multiple JAR files, separate them using the local shell's path separator character. In other words, if you are using a UNIX-style shell, use ':' (colon) to separate each JAR file. In DOS/Win32, use ';' (semi-colon). Whatever string you pass in is handed directly to the Java compiler and runtime, so the path must be valid for that specific version.


 <<O>>  Difference Topic BuildingFromSvn (r1.33 - 20 Dec 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 8 to 8

The steps are simple:

Changed:
<
<
  1. Start with the SourceForge documentation for accessing their CVS server.
  2. Refer to the CvsBranches? page which describes what branches are available in most modules.
  3. The bleeding-edge module is juggler; the VR Juggler 1.0 module is juggler_1.0.
>
>
  1. Learn about Subversion (SVN).
  2. Refer to the SvnBranches page which describes what branches and tags are available.

Changed:
<
<
It helps a lot to have a good .cvsrc file. This file goes in your home directory and allows you to customize the default behavior of CVS commands (checkout, update, etc.). See the attachments at the bottom of the page for examples.
>
>
The Juggler Project Subversion repository can be accessed through one of the following two roots:

  1. Anonymous: https://realityforge.vrsource.org/svn/vrjuggler
  2. Developer: svn+ssh://realityforge.vrsource.org/svnroot/vrjuggler

There are subdirectories of that for VR Juggler (juggler), PyJuggler (PyJuggler), VRJ.NET (vrj.net), the VR Juggler website (website), and the patched version of CppUnit (cppunit) that we use.

The anonymous checkout command for the Juggler Project HEAD branch is as follows:

   svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/trunk juggler

The anonymous checkout command for the Juggler Project 2.0 branch is as follows:

   svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/branches/2.0 juggler-2.0

The anonymous checkout command for the Juggler Project 1.0 branch (which is deprecated, unsupported, etc.) is as follows:

   svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/branches/1.0 juggler-2.0

The anonymous checkout command for the PyJuggler HEAD branch is as follows:

   svn co https://realityforge.vrsource.org/svn/vrjuggler/PyJuggler/trunk PyJuggler

The anonymous checkout command for the PyJuggler 1.0 branch is as follows:

   svn co https://realityforge.vrsource.org/svn/vrjuggler/PyJuggler/branches/1.0 PyJuggler-1.0

Dependencies

Boost

Changed:
<
<
We make use of many features of the Boost libraries. In general, the Juggler code uses Boost libraries that do not have to be compiled. The exception to this is Boost.Filesystem. Furthermore, Boost must be installed, just like any other third-party library, in order for Juggler to be compiled against it. We currently require Boost 1.31.0 or newer. Boost 1.32.0 has been tested successfully.
>
>
We make use of many features of the Boost libraries. In general, the Juggler code uses Boost libraries that do not have to be compiled. The exception to this is Boost.Filesystem. Furthermore, Boost must be installed, just like any other third-party library, in order for Juggler to be compiled against it. We currently require Boost 1.31.0 or newer. Boost 1.32.0, 1.33.0, and 1.33.1 have been tested successfully.

Documentation for compiling Boost can be found on the Boost website. That documentation will not be duplicated here as it is quite extensive and may change in the future.

Line: 32 to 66

NSPR

Changed:
<
<
We require the use of NSPR 4.2 or newer on the following platforms:
>
>
We require the use of NSPR 4.4 or newer on the following platforms:

  • Windows
  • Solaris
Line: 93 to 127

How to Build It

Changed:
<
<
First, read the documentation (begin with INSTALL.txt or INSTALL.html in the top-level source directories). This page is not meant to replace the documentation that comes with the source. This page only describes things that are specific for the CVS version or that people frequently run into.
>
>
First, read the documentation (begin with INSTALL.txt or INSTALL.html in the top-level source directories). This page is not meant to replace the documentation that comes with the source. This page only describes things that are specific for the SVN version or that people frequently run into.

We have found that it's best to use the absolute path to configure.pl when configuring a build. On Linux, this helps DDD (and possibly other tools) get its bearings so that debugging can be done effectively. Relative paths to source files tend to confuse DDD, and using the absolute path causes the source directories in the makefiles to appear as absolute paths.

Line: 255 to 289

The array returned by the user-defined Perl subroutine is merged with @ARGV. Arguments in @ARGV take precedence over default arguments. Thus, an argument given on the command line will always be used regardless of any default setting.

Changed:
<
<
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1084894281" path="acdefaults.cfg" size="5469" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1084894259" path="acdefaults.pl" size="11796" user="PatrickHartling" version="1.1"
META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/.cvsrc,v"
>
>

META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1084894281" path="acdefaults.cfg" size="5469" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromSvn/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1103574205" path="acdefaults.pl" size="11834" user="PatrickHartling" version="1.1"
META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromSvn/.cvsrc,v"
META TOPICMOVED PatrickHartling? date="1144794154" from="Juggler.BuildingFromCvs" to="Juggler.BuildingFromSvn"

 <<O>>  Difference Topic BuildingFromSvn (r1.32 - 23 Nov 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 16 to 16

Dependencies

Changed:
<
<

Java development environment

We require Java SDK for compiling and execution of our Java based code.

We recommend Java 1.3.1 or 1.4.

>
>

Boost


Changed:
<
<
You can find Java for most platforms at: http://java.sun.com/j2se/

Cygwin (Win32 only)

>
>
We make use of many features of the Boost libraries. In general, the Juggler code uses Boost libraries that do not have to be compiled. The exception to this is Boost.Filesystem. Furthermore, Boost must be installed, just like any other third-party library, in order for Juggler to be compiled against it. We currently require Boost 1.31.0 or newer. Boost 1.32.0 has been tested successfully.

Changed:
<
<
VR Juggler's build system relies upon using several UNIX-based tools and scripting methods. Because of this, Cygwin is required to compile from source. It is not required to compile applications against binary releases of VR Juggler.
>
>
Documentation for compiling Boost can be found on the Boost website. That documentation will not be duplicated here as it is quite extensive and may change in the future.

Changed:
<
<
Cygwin can be found at http://www.cygwin.com/
>
>
You can find Boost at http://www.boost.org/

Changed:
<
<
Make sure to install:
>
>

Python (Win32 only)


Changed:
<
<
  • Autoconf
  • Automake
  • Perl
  • CVS
  • binutils
  • OpenSSH
>
>
On Windows, a Visual Studio solution is used to build the Juggler code. A Python script called buildwin32.py is used to set up the build environment and to launch Visual Studio so that the dependencies will be found correctly. Python 2.3 is recommended, but Python 2.2 will work just fine.

Changed:
<
<
In addition, a subset of Cygwin is included in juggler-tools.zip (based on Cygwin 1.3) for compiling applications from the command line. This archive includes cygcl, which is currently required for compiling VR Juggler from source on Windows. Downloading and installing juggler-tools.zip is not optional for building VR Juggler from source. However, once you have it, you can copy cygcl to /usr/local/bin and then ignore the rest of the juggler-tools directory.
>
>
Python can be found at http://www.python.org/

NSPR

Line: 48 to 36

  • Windows
  • Solaris
Deleted:
<
<
  • Mac OS X

NSPR is optional on all other platforms. Binary distributions of NSPR can be downloaded from http://www.mozilla.org/projects/nspr/

Added:
>
>

Java development environment

We require Java SDK for compiling and execution of our Java-based code. We require version 1.4 or newer. Version 1.4.2 is recommended.

You can find Java for most platforms at: http://java.sun.com/j2se/


JDOM

As of October 15, 2003, JDOM comes with the VR Juggler source tree. There is no need to download it separately. People interested in exploring the use of JDOM on their own can go the the JDOM website:

Line: 64 to 57

Changed:
<
<
We currently require 3.0.4 or higher, and we recommend the use of version 4.0.1 or newer.
>
>
We currently require 3.0.4 or higher, and we highly recommend the use of version 4.0.5 or newer. Note that omniORB 4.0.4 has problems on Windows, so using either 4.0.3 or 4.0.5 is the best option for that platform.

You can get it here: http://sourceforge.net/project/showfiles.php?group_id=51138

Line: 78 to 71

  • OpenORB: configure Tweek with --with-java-orb=OpenORB (recommended for JDK 1.3 users)
  • JacORB: configure Tweek with --with-java-orb=JacORB
Changed:
<
<
Java IDL comes with the JDK, but you must use JDK 1.4 or newer. Previous versions of Java IDL will not work.

Because JDK 1.3 is still the most widely installed version, we use OpenORB as our pure Java implementation of CORBA. If you have JDK 1.4 or newer installed, it is easier to skip the use of OpenORB and use the JDK implementation of CORBA.

>
>
Java IDL comes with the JDK, but you must use JDK 1.4 or newer. Previous versions of Java IDL will not work. If you have JDK 1.4 or newer installed, it is much easier to skip the use of OpenORB and use the JDK implementation of CORBA.

OpenORB used to be maintained by the Exolab Group, but it now exists a community project on SourceForge:

Line: 92 to 83

  • avalon-framework.jar
  • logkit.jar
Deleted:
<
<
If you have OpenORB 1.2, there is only a single JAR file:

  • openorb-1.2.0.jar

At this time, we are not making use of any of the OpenORB extra services, so there is no need to download them. At some point, this may change, especially if we start to make use of SSL with CORBA.


IDL-to-Java Compiler

To compile the IDL code to Java, the Juggler source tree includes the JacORB IDL compiler, which is implemented entirely in Java. This makes it highly portable and very convenient. Using JacORB's IDL-to-Java compiler is highly recommended since it is the default and requires no special options to the configure script.

Line: 108 to 93

How to Build It

Changed:
<
<
First of all, read the documentation (begin with INSTALL.txt or INSTALL.html in the top-level source directories). This page is not meant to replace the documentation that comes with the source. This page only describes things that are specific for the CVS version or that people frequently run into.
>
>
First, read the documentation (begin with INSTALL.txt or INSTALL.html in the top-level source directories). This page is not meant to replace the documentation that comes with the source. This page only describes things that are specific for the CVS version or that people frequently run into.

We have found that it's best to use the absolute path to configure.pl when configuring a build. On Linux, this helps DDD (and possibly other tools) get its bearings so that debugging can be done effectively. Relative paths to source files tend to confuse DDD, and using the absolute path causes the source directories in the makefiles to appear as absolute paths.

Added:
>
>

Tips for Building Dependencies

Minimizing Boost Installation

Since Boost.Flesystem is the only Boost library used by Juggler that has to be compiled, the time spent building Boost can be shortened dramatically by compiling only Boost.Filesystem. When running bjam to biuld and install Boost, add the following argument to the bjam command line:

   --with-filesystem

omniORB on IRIX

When compiling omniORB with the MIPSpro compilers, make sure that the option -LANG:std is used. This is needed for compatibility with the way that VR Juggler, Boost, etc. are compiled with the MIPSpro Compilers. Configure omniORB as follows for csh or tcsh:

   % env CC=cc CXX="CC -LANG:std" ./configure --prefix=/some/install/path

For sh or sh-derived shells, use the following:

   % CC=cc CXX="CC -LANG:std" ./configure --prefix=/some/install/path

Tips for Using configure.pl

When specifying multiple JAR files, separate them using the local shell's path separator character. In other words, if you are using a UNIX-style shell, use ':' (colon) to separate each JAR file. In DOS/Win32, use ';' (semi-colon). Whatever string you pass in is handed directly to the Java compiler and runtime, so the path must be valid for that specific version.

Line: 129 to 138

IRIX SPROC (MIPSpro, 64-bit)

Changed:
<
<
configure.pl --with-abi=64_M4 --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro64/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro64 --with-gmtl=/home/vr/Juggler/irix/mipspro64 -with-boost=/home/vr/Juggler/irix/mipspro64 --with-boost-includes=/home/vr/Juggler/irix/mipspro64/include/boost-1_31
>
>
configure.pl --with-abi=64_M4 --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix64/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix64/mipspro --with-gmtl=/home/vr/Juggler/irix64/mipspro -with-boost=/home/vr/Juggler/irix64/mipspro --with-boost-includes=/home/vr/Juggler/irix64/mipspro/include/boost-1_31

IRIX POSIX (MIPSpro, 32-bit)

Line: 141 to 150

IRIX POSIX (MIPSpro, 64-bit)

Changed:
<
<
configure.pl --with-abi=64_M4 --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro64 --with-audiere=/home/vr/Juggler/irix/mipspro64 --with-openal=/home/vr/Juggler/irix/mipspro64 --with-vrpn=/home/vr/Juggler/irix/mipspro64/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro64 --with-gmtl=/home/vr/Juggler/irix/mipspro64 --with-boost=/home/vr/Juggler/irix/mipspro64 --with-boost-includes=/home/vr/Juggler/irix/mipspro64/include/boost-1_31
>
>
configure.pl --with-abi=64_M4 --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix64/mipspro --with-audiere=/home/vr/Juggler/irix64/mipspro --with-openal=/home/vr/Juggler/irix64/mipspro --with-vrpn=/home/vr/Juggler/irix64/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix64/mipspro --with-gmtl=/home/vr/Juggler/irix64/mipspro --with-boost=/home/vr/Juggler/irix64/mipspro --with-boost-includes=/home/vr/Juggler/irix64/mipspro/include/boost-1_31

Red Hat Linux 8.0 (POSIX)

Line: 177 to 186

Win32

  • Requires NSPR
Deleted:
<
<
  • Requires cygcl, a Perl script that makes CL.EXE look more like a UNIX compiler. This comes with Doozer++ (as Doozer++/scripts/cygcl.pl) and with the juggler-tools.zip archive.

Win32 Annoyances

Changed:
<
<

Compiling (Quick Reference)

This information is supplimental to the INSTALL.html (or INSTALL.txt) found in the root of the VR Juggler source tree.

Compiling under Win32 is a little different, but it's not too bad if you follow these rules:

  • When supplying paths to configure and for env variables, use the format DRIVELETTER:/mypath/to/juggler/subpath/. NOTE: it is importatnt you use UNIX-style slashes instead of the DOS-style backslashes.

  • The %PATH% environment variable inside a Cygwin shell needs to have the UNIX-style paths instead of the style above.
>
>

Visual C++ Environment Variables


Changed:
<
<
  • To build in either Cygwin or DOS shell, make sure that both Cygwin binaries and juggler-tools binaries (specifically, the cygcl Perl script) are in the path as they are needed for compiling.
>
>
All of the above assumes that your compiler is set up so that you can type cl or link at the command prompt and that your MSVC++ %INCLUDE% and %LIB% env paths are set up. Getting this set up correctly this can be quite the pain in the back side. The easiest way to do for general use it is to edit the system wide environment variables under Control Panel > System. If Windows only had a good set of command lines tools this may not be as painful.

Changed:
<
<

Visual C++ Environment Variables

>
>
The Python script buildwin32.py determines what version of Visual Studio (either 7.0 or 7.1, aka .NET 2002 or .NET 2003 respectively) to use based on what is found in your path. If no Visual Studio installation is found in your path, then the script searches the following paths (in this order):

Changed:
<
<
All of the above assumes that your compiler is set up so that you can type cl or link at the command prompt and that your MSVC++ %INCLUDE% and %LIB% env paths are set up. Getting this set up correctly this can be quite the pain in the back side. The easiest way to do it is just to edit the system wide environment variables under Control Panel > System. If Windows only had a good set of command lines tools this may not be as painful, but for now this will work.

Example Win32 Configuration and Build

NOTE: This is not necessarily the best way to compile on Windows. This is just an example of how it could be done.

First, set up your shell environment variables, here we do it for tcsh available with the Cygwin UNIX toolkit.

# you can customize these to your needs...
set HOSTTYPE=win32
set HOME=c:/home/kevn
set modules_root=$HOME/src/juggler/build.$HOSTTYPE/
set install_dir=$HOME/tempinstall/$HOSTTYPE

Next configure the makefiles with configure.pl. This assumes that you have all libraries that Juggler depends on and have run autogen.sh already. See INSTALL.txt for more info on this).

To configure:

mkdir build.win32
cd build.win32
../configure.pl --with-nspr=$HOME/src/nspr-4.2 --prefix=$install_dir
>
>
  • C;\Program Files\Microsoft Visual Studio .NET
  • C;\Program Files\Microsoft Visual Studio .NET 2003

Changed:
<
<
NOTE: A binary build of NSPR can be found on the Mozilla website.
>
>
When executing buildwin32.py from a DOS shell prompt, the best way to override this is to run the vsvars32.bat batch file to set up all the Visual Studio-related environment variables. If running buildwin32.py from Windows Explorer by double-clicking on the icon, the above approach of modifying the system-wide environment variables is the best bet.

Advanced Uses


 <<O>>  Difference Topic BuildingFromSvn (r1.31 - 28 Oct 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 162 to 162

Platform-Specific Gotchas

Added:
>
>

Mac OS X


Solaris

  • Requires NSPR
    • Solaris headers define system calls such as connect(2) and listen(2) as preprocessor #defines. This munges class declarations in VPR, and there is no easy workaround.
Changed:
<
<
  • CppDOM does not compile with GCC 2.95.3. GCC 3.0, 3.1, or 3.2 is recommended.
>
>

  • CppDOM and GMTL do not compile with GCC 2.95.3. GCC 3.0 or newer is required.

  • The default compiler is the Sun Forte C++ compiler. While this compiler is not actually capable of compiling the code, this is done for consistency with other operating systems (IRIX, Windows, HP-UX) where the primary compiler is not GCC. To use GCC as the compiler, you must specify --with-gcc when running the configure script(s).

Win32


 <<O>>  Difference Topic BuildingFromSvn (r1.30 - 18 May 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 120 to 120

Below are some example calls to configure.pl that demonstrate how to provide paths for optional features (primarily the Java code). On IRIX and Linux (Red Hat, anyway), it should be possible to run configure.pl with no options and get a usable build of the C++ code base.

Changed:
<
<

IRIX SPROC (MIPSpro)

>
>

IRIX SPROC (MIPSpro, 32-bit)


Changed:
<
<
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl-prefix=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

Changed:
<
<

IRIX POSIX (POSIX)

>
>

IRIX SPROC (MIPSpro, 64-bit)


Changed:
<
<
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl-prefix=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --with-abi=64_M4 --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro64/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro64 --with-gmtl=/home/vr/Juggler/irix/mipspro64 -with-boost=/home/vr/Juggler/irix/mipspro64 --with-boost-includes=/home/vr/Juggler/irix/mipspro64/include/boost-1_31

IRIX POSIX (MIPSpro, 32-bit)

configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-audiere=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

IRIX POSIX (MIPSpro, 64-bit)

configure.pl --with-abi=64_M4 --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro64 --with-audiere=/home/vr/Juggler/irix/mipspro64 --with-openal=/home/vr/Juggler/irix/mipspro64 --with-vrpn=/home/vr/Juggler/irix/mipspro64/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro64 --with-gmtl=/home/vr/Juggler/irix/mipspro64 --with-boost=/home/vr/Juggler/irix/mipspro64 --with-boost-includes=/home/vr/Juggler/irix/mipspro64/include/boost-1_31


Red Hat Linux 8.0 (POSIX)

Changed:
<
<
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn --with-cppdom=/home/vr/Juggler/linux-rh80 --with-gmtl-prefix=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_31
>
>
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-audiere=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn --with-cppdom=/home/vr/Juggler/linux-rh80 --with-gmtl=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_31

Fedora Core 1 (POSIX)

Changed:
<
<
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn --with-cppdom=/home/vr/Juggler/linux-fc1 --with-gmtl-prefix=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_31
>
>
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-audiere=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn --with-cppdom=/home/vr/Juggler/linux-fc1 --with-gmtl=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_31

Make an Argument Defaults File

Line: 261 to 273

The array returned by the user-defined Perl subroutine is merged with @ARGV. Arguments in @ARGV take precedence over default arguments. Thus, an argument given on the command line will always be used regardless of any default setting.

Changed:
<
<
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1081797592" path="acdefaults.cfg" size="5553" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1081797616" path="acdefaults.pl" size="11565" user="PatrickHartling" version="1.1"
>
>
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1084894281" path="acdefaults.cfg" size="5469" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1084894259" path="acdefaults.pl" size="11796" user="PatrickHartling" version="1.1"

META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/.cvsrc,v"

 <<O>>  Difference Topic BuildingFromSvn (r1.29 - 12 Apr 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 104 to 104

NOTE: At this time, using the IDL compiler that comes with the JDK, idlj, is not supported. The Tweek build system includes a makefile that ssumes that the JacORB compiler is going to be used. The options used are not compatible with idlj, and invalid code will be generated. To fix this, the options need to be pushed into the Tweek configure script so that they are replaced automatically to match the IDL-to-Java compiler the user chose.

Deleted:
<
<

Using cvs-gather.pl

cvs-gather allows us to automatically checkout source code from several projects that VR Juggler depends upon. It is meant to simplify a developer's life by automating the tasks of source code collection.


Compiling

How to Build It

Line: 127 to 123

IRIX SPROC (MIPSpro)

Changed:
<
<
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl-prefix=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

IRIX POSIX (POSIX)

Changed:
<
<
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-gmtl-prefix=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

Red Hat Linux 8.0 (POSIX)

Changed:
<
<
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn --with-cppdom=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_31
>
>
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn --with-cppdom=/home/vr/Juggler/linux-rh80 --with-gmtl-prefix=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_31

Fedora Core 1 (POSIX)

Changed:
<
<
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn --with-cppdom=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_31
>
>
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn --with-cppdom=/home/vr/Juggler/linux-fc1 --with-gmtl-prefix=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_31

Make an Argument Defaults File

Line: 265 to 261

The array returned by the user-defined Perl subroutine is merged with @ARGV. Arguments in @ARGV take precedence over default arguments. Thus, an argument given on the command line will always be used regardless of any default setting.

Changed:
<
<
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1075322238" path="acdefaults.cfg" size="5052" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1075322263" path="acdefaults.pl" size="9172" user="PatrickHartling" version="1.1"
>
>
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1081797592" path="acdefaults.cfg" size="5553" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1081797616" path="acdefaults.pl" size="11565" user="PatrickHartling" version="1.1"

META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/.cvsrc,v"

 <<O>>  Difference Topic BuildingFromSvn (r1.28 - 27 Feb 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 28 to 28

VR Juggler's build system relies upon using several UNIX-based tools and scripting methods. Because of this, Cygwin is required to compile from source. It is not required to compile applications against binary releases of VR Juggler.

Changed:
<
<
Cygwin can be found at: http://sources.redhat.com/cygwin/download.html
>
>
Cygwin can be found at http://www.cygwin.com/

Make sure to install:


 <<O>>  Difference Topic BuildingFromSvn (r1.27 - 13 Feb 2004 - AronBierbaum)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 127 to 127

IRIX SPROC (MIPSpro)

Changed:
<
<
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/miprpso --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

IRIX POSIX (POSIX)

Changed:
<
<
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/miprpso --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31
>
>
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/mipspro --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

Red Hat Linux 8.0 (POSIX)


 <<O>>  Difference Topic BuildingFromSvn (r1.26 - 28 Jan 2004 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 54 to 54

JDOM

Changed:
<
<
JDOM is required for all Java code in VR Juggler. We use it to load the growing number of XML files we use, including JCCL/VR Juggler configuration files. We currently require B7 or newer. We recommend B8.
>
>
As of October 15, 2003, JDOM comes with the VR Juggler source tree. There is no need to download it separately. People interested in exploring the use of JDOM on their own can go the the JDOM website:

Deleted:
<
<
You can get it here: http://www.jdom.org/downloads/index.html

CORBA Implementation for C++

The Tweek module makes use of CORBA to facilitate communication between Java and C++ code. To use the Tweek C++ API (which is optional and probably always will be), you have to have a C++ implementation of CORBA. So far, we have done all of our testing with omniORB, which can be downloaded from the following site:

Changed:
<
<
We currently require 3.0.4 or higher.
>
>
We currently require 3.0.4 or higher, and we recommend the use of version 4.0.1 or newer.

You can get it here: http://sourceforge.net/project/showfiles.php?group_id=51138

Line: 129 to 127

IRIX SPROC (MIPSpro)

Changed:
<
<
configure.pl --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=OpenORB --with-java-orb-jar=/home/vr/Juggler/java/openorb-1.3.0.jar:/home/vr/Juggler/java/avalon-framework.jar:/home/vr/Juggler/java/logkit.jar --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn
>
>
configure.pl --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/miprpso --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

Changed:
<
<

IRIX POSIX (MIPSpro)

>
>

IRIX POSIX (POSIX)


Changed:
<
<
configure.pl --enable-subsystem=POSIX --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=OpenORB --with-java-orb-jar=/home/vr/Juggler/java/openorb-1.3.0.jar:/home/vr/Juggler/java/avalon-framework.jar:/home/vr/Juggler/java/logkit.jar --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-oalroot=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn
>
>
configure.pl --enable-subsystem=POSIX --with-jdkhome=/usr/java2 --with-java-orb=JDK --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-openal=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn --with-cppdom=/home/vr/Juggler/irix/mipspro --with-boost=/home/vr/Juggler/irix/miprpso --with-boost-includes=/home/vr/Juggler/irix/mipspro/include/boost-1_31

Changed:
<
<

Red Hat Linux 8.0 POSIX

>
>

Red Hat Linux 8.0 (POSIX)


Changed:
<
<
configure.pl --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-oalroot=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn
>
>
configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-openal=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn --with-cppdom=/home/vr/Juggler/linux-rh80 --with-boost=/home/vr/Juggler/linux-rh80 --with-boost-includes=/home/vr/Juggler/linux-rh80/include/boost-1_31

Fedora Core 1 (POSIX)

configure.pl --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-fc1 --with-openal=/home/vr/Juggler/linux-fc1 --with-vrpn=/home/vr/Juggler/linux-fc1/vrpn --with-cppdom=/home/vr/Juggler/linux-fc1 --with-boost=/home/vr/Juggler/linux-fc1 --with-boost-includes=/home/vr/Juggler/linux-fc1/include/boost-1_31


Make an Argument Defaults File

Line: 165 to 169

Win32 Annoyances

Compiling (Quick Reference)

Changed:
<
<

>
>

This information is supplimental to the INSTALL.html (or INSTALL.txt) found in the root of the VR Juggler source tree.

Compiling under Win32 is a little different, but it's not too bad if you follow these rules:

Line: 206 to 210

NOTE: A binary build of NSPR can be found on the Mozilla website.

Deleted:
<
<

JDOM Path

The use of JDOM by Tweek and JCCL requires two JAR files: jdom.jar and xerces.jar. Because of this, they must be specified in such a way that they can be used to extend the classpath of the local javac. On UNIX, the two JAR files are separated by a colon (:), but on Win32, they must be specified with a semi-colon (;). This leads to problems in the Cygwin environment where the code must be built.

The first problem that comes up is with the global configuration script, configure.pl. The argument passed to it giving the JDOM JAR files must be entered as follows:

   --with-jdom="C:/some/path/jdom.jar;C:/some/path/xerces.jar"

The use of double quotes is required to prevent the shell from treating the semi-colon as a command separator. The semi-colon must appear, but it must not interfere with the normal execution of Cygwin software.


Advanced Uses

This section details interesting tidbits about the VR Juggler build system that are not documented anywhere else at this time. These pieces are not documented for one or more of the following reasons:

Line: 273 to 265

The array returned by the user-defined Perl subroutine is merged with @ARGV. Arguments in @ARGV take precedence over default arguments. Thus, an argument given on the command line will always be used regardless of any default setting.

Changed:
<
<
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1054750907" path="acdefaults.cfg" size="4262" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1063039071" path="acdefaults.pl" size="8236" user="PatrickHartling" version="1.1"
>
>
META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1075322238" path="acdefaults.cfg" size="5052" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1075322263" path="acdefaults.pl" size="9172" user="PatrickHartling" version="1.1"

META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/.cvsrc,v"

 <<O>>  Difference Topic BuildingFromSvn (r1.25 - 08 Sep 2003 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 124 to 124

Example configure.pl Calls

Changed:
<
<
/home/users/allenb/Source/juggler/configure.pl --module VRJuggler+DSO --enable-subsystem=NSPR --with-jdom=/home/users/allenb/Software/jdom-b8/build/jdom.jar:/home/users/allenb/Software/jdom-b8/lib/xerces.jar --with-nspr=/home/users/allenb/Linux/nspr4_1/ --with-java-orb=OpenORB --with-java-orb-jar=/home/users/allenb/Software/OpenORB-1.2.1/lib/openorb-1.2.1.jar
>
>
Below are some example calls to configure.pl that demonstrate how to provide paths for optional features (primarily the Java code). On IRIX and Linux (Red Hat, anyway), it should be possible to run configure.pl with no options and get a usable build of the C++ code base.

Changed:
<
<
../configure.pl --enable-openal --with-oalroot=/home/users/kevn/software/linux --enable-sonix=yes --with-jdom=/home/users/patrick/src/Tweek/jdom.jar:/home/users/patrick/src/Tweek/xerces.jar --with-cxx-orb=omniORB3 --with-cxx-orb-root=/home/users/patrick/src/Tweek/omni-3.0.4/omni --with-cxx-orb-bin=/home/users/patrick/src/Tweek/omni-3.0.4/omni/bin/i586_linux_2.0_glibc --with-cxx-orb-lib=/home/users/patrick/src/Tweek/omni-3.0.4/omni/lib/i586_linux_2.0_glibc --with-java-orb=OpenORB --with-java-orb-jar=/home/users/patrick/src/Tweek/OpenORB-1.2.0/lib/openorb-1.2.0.jar
>
>

IRIX SPROC (MIPSpro)

configure.pl --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=OpenORB --with-java-orb-jar=/home/vr/Juggler/java/openorb-1.3.0.jar:/home/vr/Juggler/java/avalon-framework.jar:/home/vr/Juggler/java/logkit.jar --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn

IRIX POSIX (MIPSpro)

configure.pl --enable-subsystem=POSIX --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=OpenORB --with-java-orb-jar=/home/vr/Juggler/java/openorb-1.3.0.jar:/home/vr/Juggler/java/avalon-framework.jar:/home/vr/Juggler/java/logkit.jar --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/irix/mipspro --with-oalroot=/home/vr/Juggler/irix/mipspro --with-vrpn=/home/vr/Juggler/irix/mipspro/vrpn

Red Hat Linux 8.0 POSIX

configure.pl --with-jdom=/home/vr/Juggler/java/jdom.jar:/home/vr/Juggler/java/xerces.jar --with-java-orb=JDK --with-jdkhome=/usr/java/j2sdk1.4.1_02 --with-cxx-orb=omniORB4 --with-cxx-orb-root=/home/vr/Juggler/linux-rh80 --with-oalroot=/home/vr/Juggler/linux-rh80 --with-vrpn=/home/vr/Juggler/linux-rh80/vrpn


Make an Argument Defaults File


 <<O>>  Difference Topic BuildingFromSvn (r1.24 - 08 Sep 2003 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 24 to 24

You can find Java for most platforms at: http://java.sun.com/j2se/

Changed:
<
<

(Win32 only) Cygwin

>
>

Cygwin (Win32 only)


VR Juggler's build system relies upon using several UNIX-based tools and scripting methods. Because of this, Cygwin is required to compile from source. It is not required to compile applications against binary releases of VR Juggler.

Line: 40 to 40

  • OpenSSH

In addition, a subset of Cygwin is included in

Changed:
<
<
juggler-tools.zip (based on Cygwin 1.3) for compiling applications from the command line. This archive includes msvccc, which is currently required for compiling VR Juggler from source on Windows. Downloading and installing juggler-tools.zip is not optional for building VR Juggler from source. However, once you have it, you can copy msvccc to /usr/local/bin and then ignore the rest of the juggler-tools directory.
>
>
juggler-tools.zip (based on Cygwin 1.3) for compiling applications from the command line. This archive includes cygcl, which is currently required for compiling VR Juggler from source on Windows. Downloading and installing juggler-tools.zip is not optional for building VR Juggler from source. However, once you have it, you can copy cygcl to /usr/local/bin and then ignore the rest of the juggler-tools directory.

NSPR

Line: 76 to 76

To use the Tweek JAVA API (which is required if you want to build VRJConfig), you must have a Java implementation of CORBA. At this time, the Tweek build system supports three such implementations:

Changed:
<
<
  • Java IDL: configure Tweek with --with-java-orb=JDK
  • OpenORB: configure Tweek with --with-java-orb=OpenORB
>
>
  • Java IDL: configure Tweek with --with-java-orb=JDK (recommended for JDK 1.4 users)
  • OpenORB: configure Tweek with --with-java-orb=OpenORB (recommended for JDK 1.3 users)

  • JacORB: configure Tweek with --with-java-orb=JacORB

Java IDL comes with the JDK, but you must use JDK 1.4 or newer. Previous versions of Java IDL will not work.

Changed:
<
<
Most of the time, we use OpenORB as our pure Java implementation of CORBA. OpenORB used to be maintained by the Exolab Group, but it now exists a community project on SourceForge:
>
>
Because JDK 1.3 is still the most widely installed version, we use OpenORB as our pure Java implementation of CORBA. If you have JDK 1.4 or newer installed, it is easier to skip the use of OpenORB and use the JDK implementation of CORBA.

OpenORB used to be maintained by the Exolab Group, but it now exists a community project on SourceForge:


Line: 98 to 100

At this time, we are not making use of any of the OpenORB extra services, so there is no need to download them. At some point, this may change, especially if we start to make use of SSL with CORBA.

Added:
>
>

IDL-to-Java Compiler

To compile the IDL code to Java, the Juggler source tree includes the JacORB IDL compiler, which is implemented entirely in Java. This makes it highly portable and very convenient. Using JacORB's IDL-to-Java compiler is highly recommended since it is the default and requires no special options to the configure script.

NOTE: At this time, using the IDL compiler that comes with the JDK, idlj, is not supported. The Tweek build system includes a makefile that ssumes that the JacORB compiler is going to be used. The options used are not compatible with idlj, and invalid code will be generated. To fix this, the options need to be pushed into the Tweek configure script so that they are replaced automatically to match the IDL-to-Java compiler the user chose.


Using cvs-gather.pl

cvs-gather allows us to automatically checkout source code from several projects that VR Juggler depends upon. It is meant to simplify a developer's life by automating the tasks of source code collection.

Line: 136 to 144

Win32

  • Requires NSPR
Changed:
<
<
  • Requires msvccc, a shell script wrapper that makes CL.EXE look more like a UNIX compiler. This comes with Doozer++ and with the juggler-tools.zip archive.
>
>
  • Requires cygcl, a Perl script that makes CL.EXE look more like a UNIX compiler. This comes with Doozer++ (as Doozer++/scripts/cygcl.pl) and with the juggler-tools.zip archive.

Win32 Annoyances

Line: 150 to 158

  • The %PATH% environment variable inside a Cygwin shell needs to have the UNIX-style paths instead of the style above.
Changed:
<
<
  • To build in either Cygwin or DOS shell, make sure that both Cygwin binaries and juggler_tools binaries (specifically, the msvccc shell script) are in the path as they are needed for compiling.
>
>
  • To build in either Cygwin or DOS shell, make sure that both Cygwin binaries and juggler-tools binaries (specifically, the cygcl Perl script) are in the path as they are needed for compiling.

Visual C++ Environment Variables

Line: 177 to 185

mkdir build.win32
cd build.win32
Changed:
<
<
../configure.pl --cfg=../juggler.cfg --with-nspr=$HOME/src/nspr-4.2 --prefix=$install_dir
>
>
../configure.pl --with-nspr=$HOME/src/nspr-4.2 --prefix=$install_dir

Changed:
<
<
NOTE: A binary build of NSPR was found on the http://www.mozilla.org/ website.

NOTE: You may need to specify CppDOM and GMTL directories with --with-cppdom and --with-gmtl. Use the same path name convention as shown above. Unless you are using existing versions of CppDOM, this will not be necessary.

>
>
NOTE: A binary build of NSPR can be found on the Mozilla website.

JDOM Path

Line: 194 to 200

--with-jdom="C:/some/path/jdom.jar;C:/some/path/xerces.jar"
Changed:
<
<
The use of double quotes is required to force configure.pl to prevent the shell from treating the semi-colon as a command separator. The semi-colon must appear, but it must not interfere with the normal execution of Cygwin software.
>
>
The use of double quotes is required to prevent the shell from treating the semi-colon as a command separator. The semi-colon must appear, but it must not interfere with the normal execution of Cygwin software.

Advanced Uses

Line: 205 to 211

  1. Inclusion in the general documentation may cause unnecessary confusion
  2. The documentation is still in development and not ready for widespread public consumption
Changed:
<
<
This is not to say that this information will never be included but rather that it is not included yet.
>
>
This is not to say that this information will never be included but rather that it is not included yet.

Default Arguments for configure.pl

Line: 251 to 257

The array returned by the user-defined Perl subroutine is merged with @ARGV. Arguments in @ARGV take precedence over default arguments. Thus, an argument given on the command line will always be used regardless of any default setting.

Deleted:
<
<
(http://www.cygwin.com/ ) (http://www.cygwin.com/ ) (http://www.cygwin.com/ ) (http://www.cygwin.com/ )

META FILEATTACHMENT acdefaults.cfg attr="" comment="Patrick's default arguments configuration file" date="1054750907" path="acdefaults.cfg" size="4262" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/acdefaults.cfg,v"
META FILEATTACHMENT acdefaults.pl attr="" comment="Patrick's Perl module for default arguments" date="1063039071" path="acdefaults.pl" size="8236" user="PatrickHartling" version="1.1"
META FILEATTACHMENT .cvsrc attr="" comment="Patrick's .cvsrc file" date="1036596585" path=".cvsrc" size="46" user="PatrickHartling" version="/usr/sbin/rlog -h /home/wwwadm/www-vrjuggler/twiki_public/pub/Juggler/BuildingFromCvs/.cvsrc,v"

 <<O>>  Difference Topic BuildingFromSvn (r1.23 - 08 Sep 2003 - PatrickHartling)

META TOPICPARENT WebHome
TOC: No TOC in "Juggler.BuildingFromSvn"
Line: 254 to 254

(http://www.cygwin.com/ ) (http://www.cygwin.com/ ) (http://www.cygwin.com/ ) (http://www.cygwin.com/ )

META FILEATTACHMENT