#Copyright (C) 1998 Tuomas J. Lukka, 2001, 2002 John Stewart, CRC Canada.
#DISTRIBUTED WITH NO WARRANTY, EXPRESS OR IMPLIED.
#See the GNU Library General Public License (file COPYING in the distribution)
#for conditions of use and redistribution, EXCEPT on the files
#which belong under the mozilla public license.

Install Introduction

The complexity of the install depends on what packages you have installed with your system, and what packages may have been installed later.

Most installs are very simple.

Installs for the impatient

Either grab a pre-packaged version of FreeWRL (in rpm format), or grab the source for FreeWRL and the SoundEngine, and try:

gunzip FreeWRL-version-tar.gz

untar FreeWRL-version.tar

cd FreeWRL-version

perl Makefile.PL

make install

For the sound engine, gunzip it, untar it, cd into the directory, and "make install".

Installs for everybody else

Red Hat 8.0 and MacOS-X will be the build platforms for FreeWRL 0.38 and beyond.

Mac OS-X users: Congradulations! You now can compile and run FreeWRL. We have put specific install directions here.

Solaris users: Congradulations are in order for you, too! Alex Prengel of MIT has put specific install directions here.

For people with older versions of Linux, we have also tested the FreeWRL 0.29 build on brand new installs of:

  • SuSe 7.1 FTP'd on March 30-31 2001
  • TurboLinux Workstation 4.0.5.SMC Tues Oct 19, 1999
  • Mandrake 7.2 from ISO CD images
  • Redhat 7.1 and 7.2

    Others have tested FreeWRL on:

  • SGI Onyx II
  • FreeBSD

    Detailed install notes can be found in this file (INSTALL.html) in the FreeWRL 0.29 release; most of what is in there should help with installing FreeWRL 0.32 and beyond on these platforms.

    This install is divided up into the following sections:

  • Building FreeWRL to run "standalone", without Netscape.
  • Installing Java support.
  • Getting it all to work with Netscape.
  • Adding X3D functionality.
  • Getting it to work with the Polhemus Fastrak 3d, or a Joystick.

    Building FreeWRL as a standalone executable

    This is the place to start. Once it runs, you can configure more options for FreeWRL to use, like Netscape Plugin functionality.

    You can get FreeWRL from: http://sourceforge.net/projects/freewrl/

    You can also access the cvs repository. The way to do it is explained at:
    - http://sourceforge.net/cvs/?group_id=9120

    1.0 OpenGL

    OpenGL is a "standard" on all distributions.

    Some OpenGL implementations are better than others, though. The two references used are the SGI OpenGL implementation, and Mesa from http://www.mesa3d.org.

    Text nodes now really use the OpenGL tesselator; you may experience character dropouts (VooDoo3 cards), or even core dumps (older GeForce drivers), if your OpenGL drivers do not use the latest OpenGL.

    If you fall into this category, there are various options available to you, the simplest is to either ignore the errors, or install Mesa as indicated above.

    2.0 Java Install.

    The java compiler, javac must be in your path. the command "which javac" will tell you if you have this installed.

    RedHat 8.0 - get and install the jdkgcj-0.2.3-1.i386.rpm rpm package off of disc 3 in the RedHat set.

    RedHat 7.2 needed Suns Java 1.2 or above installed. The open-source Java equivalent, Kaffe, is not quite up to the job yet. With Kaffe, you will get Java compile errors, so for now, please use Suns Java 1.2 or above.

    Java can be found at http://www.blackdown.org.

    3.0 FreeWRL Build and Installation

    1. Grab the latest FreeWRL tar file, and untar it.

    2. Verify that the vrml.conf file has good paths for the libraries and includes. Note particularly the possible defines in this file.

      I have included various configuration files to show examples of what can be done. Of particular interest are vrml.conf.rh7.2 and vrml.conf.localmesa. You will wish to replace vrml.conf with one of these files.

      If you are running on Irix copy vrml.conf.irix over vrml.conf, and remove the Plugin directory; Perl and Netscape are compiled differently, so at this point in time you can not use FreeWRL and Netscape under Irix.

      One additional Irix note: if your version of "make" is not gnumake, you will need to install it, and use the following script to "make" freewrl. (this is on the bug list...)

      $ for i in * ; do (cd $i && gmake) ; done

      $ gmake

      FreeType version 2 has been in distributions for well over a year; FreeWRL now uses it. Check that you have the library installed; the command "ldconfig -p | grep freetype" will print the path, if it is installed. If you have an older distribution, you can get a new version of FreeType from http://www.freetype.org.

      If you need them, the fonts that freewrl uses in a file called freewrl-fonts, available on http://www.crc.ca/en/html/FreeWRL/downloads/downloads. Untar this file, and point the FREETYPE_FONT_PATH to this directory.

      NOTE: some systems seem to have placed the FreeType include files properly, others have the include files spread all over the place. for RedHat 7.2, make sure you have a look at the FreeType section of vrml.conf.rh7.2.

    3. Install Perl Modules; Irix will need all of these, Red Hat will only need the ones indicated; RedHat 8.0 does not need any.

      Digest-MD5-2.09
      HTML-Parser-2.25
      MIME-Base64-2.11
      URI-1.04
      libnet-1.0607
      libwww-perl-5.47
      Image-Base-1.07 Needed for RedHat 7.2

      Installing these modules is a no-brainer; just untar each module as root, then go into the directory, and
      perl Makefile.PL
      make
      make install

      Note that libwww-perl will most likely ask you if you want to reconfigure - I always just select the default.

    4. ImageMagick is required for some conversions of graphics files. The "convert" utility is used; this should now be installed with any graphical Linux distribution. If you can't find it, you can always download it from http://www.imagemagick.org or http://freeware.sgi.com/

    5. Make the Make file

      perl Makefile.PL

    6. Build/install FreeWRL

      make
      make install (you have to be root of course)

    7. Experimental SAI interface

      NOTE: You only need to do this if you wish to debug the SAI code.

      - mknod.javapipej p
      - mknod.javapipep p

    8. Run the numbered tests.

      There are quite a few tests in the "tests" directory.

      Run all of the numbered files (and any others that you want!) in the tests directory. Note that some use javascript, so you will be testing javascript, too.

    4.0 Installing Java support

    4.1) Javascript:

    In the basic install, you should have installed the java support to allow some of the test programs in the tests directory to work. (eg, 7.wrl, 8.wrl, and 10.wrl)

    If these programs don't run, then go back and make FreeWRL it so that it does work.

    4.2) EAIcode:

    NOTE: This is in active development, so may not work.

    The EAI classes have been gathered into the Java archive vrml.jar. A java.policy file is used to handle EAI code access to the local filesystem and sockets.

  • cd into the tests/AddRemove directory in the build tree.
  • Read the README file in there to see what the latest commands are
  • Send a case of beer to the developers, for their outstanding work.

    4.2) SAIcode:

    NOTE: This is in active development, so may not work.

  • cd into the tests/SAIClick directory in the build tree.
  • Read the README file in there to see what the latest commands are

    5.0 Getting it all to work with Netscape/Mozilla.

    If FreeWRL was built correctly, then the Netscape/Mozilla Plugin was installed in the browser plugins directory. Stop and start your browser, and enter "about:plugins" in the url entry box. You should see the FreeWRL plugin listed.

    6.0 X3D compatibility.

    6.1) Go to the x3d directory, and follow the instructions.

    7.0 Getting it to work with external sensors.

    7.1) CRC's "Flying Chair".

    This chair can be seen in the "links" section. The code to run this chair is freely available, at: http://sourceforge.net/projects/mvip/

    7.2) Thrustmaster style Joystick

    The 2-D joystick interface is available at: http://www.crc.ca/FreeWRL/download/joystick/Joystick-1.0.tar.gz, and the 3D joystick interface is available as part of the chair code, as outlined above.

    7.3) Data Glove.

    This interface is being actively worked on.

    6.4) Spaceball 3D positioning mouse.

    This interface is being actively worked on.

    7.4) Touchscreens.

    One of our FreeWRL users has made a very interesting touchscreen interface to FreeWRL. This code will be incorporated into FreeWRL when it is complete.

    7.5) Polhemus/Virtual Research goggles with position sensor.

    This works very well with the "Flying Chair" mentioned above, but if you wish to run this alone, without joystick (and chair!), here are the directions:

    7.5.1) Polhemus Position Sensor.

    - Untar and compile the code in the Polhemus 1.0. tarfile.
    - run minicom (with modem in it strings set to null) and see if you can get any input.
    - align the Fastrak. I use the A0 command, as found in the manual, to do the allignment. ("Enhanced Allignment Procedure, pg 48a of my manual-Sept 1998)

    eg:
    (in minicom)
    A0
    P
    (now, move the sensor 24" in positive X axis)
    P
    (now, move the sensor 24" in positive Y axis)
    P
    Exit minicom

    - run the program Polhemus/termite to get the polhemus interface code working. Note - headset should be pointed at where you want "front" to be.

    7.5.2) Virtual Research goggles

    An option has been added to FreeWRL to run in full screen mode just for these goggles. Start FreeWRL with the "-fullscreen" option; eg:

    freewrl tests/1.wrl -best -fullscreen -geometry 640x480