Surveyor Installation Guide

Installing Surveyor

Surveyor comes with executables for a SPARC compatible computer (for example Sun 4/xxx, Solbourne) running SunOS 4.1.3, and for Silicon Graphics computers running IRIX 5.2. If you are running one of these systems, you should be able to run surveyor without recompiling.

Installation consists of three steps:

  1. Load the Surveyor files onto your system.
  2. Install the Surveyor daemon.
  3. Make the commands available to users.

Loading Surveyor

You most likely received instructions for reading Surveyor from the media on which you received it. The procedure described here assumes you have downloaded a compressed tar file called surveyor-2.0.tar.Z containing Surveyor, perhaps from anonymous ftp.

You will need to choose a directory in which to put surveyor. To estimate how much disk space will be needed (in bytes), you can use the command:

zcat surveyor-2.0.tar.Z | wc -c

It is recommended that you find a location which is accessible from all the systems on your local network and install a surveyor directory tree there. This tree will hold all the executable and data files needed to run Surveyor. The tar file can then be unpacked directly into that directory. The following command illustrates this process:

cd /usr/local
zcat surveyor-2.0.tar.Z | tar xvf -

At this point all the Surveyor files should be copied to your disk in a directory called surveyor.

As delivered, Surveyor actually consists of three executable files: surveyor, backanimation, and survd. The main part of surveyor which contains the user interface is the surveyor program. The backanimation program is a background animation controller which is used to perform rendering in the background (batch mode), distributed on a network of workstations.

The survd program is what we refer to as the server. When using Surveyor, all of the rendering is done by the server. You can use multiple servers on different computers on your network at the same time. Likewise, a single running server on a given computer can service multiple requests from different users running Surveyor simultaneously (hence the name server). It is important to install survd as described below so that it will be available to users without effort. If individual users ran survd from the command line, they would be killing each other's render jobs. In addition, if Joe starts up a survd, and Mary goes to render a frame, she will unwittingly use Joe's survd, and won't be able to save a frame into her own directory.

Installing the Surveyor Server (daemon)

Once Surveyor has been loaded onto your system, you should install the Surveyor server (survd) as a daemon for each system on which you wish to use Surveyor. The installation is done with the simple three step process described below.

Registering survd with rpc

The first step is to register survd as an rpc (remote procedure calls) service, which is done by adding the following line to the end of the file /etc/rpc:

survd     536872004
Note that if you had a previous version of surveyor installed you will need to modify the number as above.

If you are servicing rpc with NIS (Network Information Systems), you should remake yp or NIS at this point. If not, you will need to do this for each system you wish to make survd available on.

Registering survd with inetd

The next step is to register survd with inetd, which allows the system to start survd whenever it is needed.

On a Sun system

To register survd with inetd on a system running SunOS 4.x.x, add the following line to the end of the file /etc/inetd.conf:
survd stream rpc/tcp wait root /usr/local/surveyor/bin/sun4/survd survd /usr/local/surveyor
Once inetd.conf has been modified, use the kill -HUP command to restart inetd, as follows:

% ps ax|grep inetd
  131 ?  IW    0:02 inetd
 3833 p2 S     0:00 grep inetd
% kill -HUP 131

On a Silicon Graphics system

To register survd on a Silicon Graphics system, add the following line to the end of the file /usr/etc/inetd.conf:

survd/11 stream rpc/tcp wait root /usr/local/surveyor/bin/sgi/survd survd /usr/local/surveyor
Once inetd.conf has been modified, use the following command to restart inetd:

/etc/killall -HUP inetd
Note that if you are using an SGI and you had a version of surveyor installed previously, you will need to change the version number on survd as above (survd/11).

Making the programs available to users

In order to use Surveyor, each user must have both the surveyor and the backanimation programs in their path. This can be accomplished in one of two ways:

Making symbolic links

You can put links to the Surveyor binaries in a commonly used path for your system, such as /usr/local/bin. For example, if you are running on a Sparc machine, you would do the following:

cd /usr/local/bin
ln -s /usr/local/surveyor/bin/sun4/surveyor surveyor
ln -s /usr/local/surveyor/bin/sun4/backanimation backanimation
or for a Silicon Graphics machine:

cd /usr/local/bin
ln -s /usr/local/surveyor/bin/sgi/surveyor surveyor
ln -s /usr/local/surveyor/bin/sgi/backanimation backanimation

Modifying user files

If you do not wish to create symbolic links as described above, you can have each user of Surveyor make entries into his or her own startup files. The procedure for modifying these files is described in Setting Up Your Environment. Alternatively, you can set the environment up in a system login file so that each user does not have to modify their own files.

Rebuilding Surveyor

If you are running either SunOS 4.1.3 or IRIX 5.2, you should not need to rebuild Surveyor. If you are running a different operating system, no guarantees are made as to whether you can successfully build the programs following the instructions here.

Surveyor is built using a series of individual makefiles which are all referenced from one master makefile. A normal build of everything is accomplished as follows:

Go to the main surveyor directory.

For example,

cd /usr/local/surveyor

Rebuild the world.

For SunOS 4.1.3:

make all.sun4
For SGI IRIX 5.2:

make all.sgi

Additional Information for system administrators

Once Surveyor has been installed and people are using it, there are a few things that the system administrator should bear in mind. The problems mentioned here are high on the priority list for the next release.

Killing stray survd processes

Occasionally, if the main surveyor program crashes or is otherwise terminated abnormally (e.g., with the kill command, or by having your window manager kill a surveyor window), survd processes will hang around indefinitely. If no one is currently using surveyor, you can kill these processes without causing any harm. The main survd process (if installed as above) will be running as root, but user processes will be running under the user id of individual users. It should not be necessary to kill the main survd process, but it does not hurt to do so (provided no one is currently using it!).

Killing a background animation

There is not yet a good clean way to kill a background animation. The best way to do so now is to kill all the survd processes (on every computer) being used by the background animation program, at which time it will terminate itself with an error. You should not just kill the backanimation process it- self, because it will leave stray survd processes hanging around. All the users of surveyor should be informed of this problem.


Surveyor Copyright (C) 1991-1994, California Institute of Technology
All rights reserved. U.S. Government Sponsership under NASA Contract NAS7-918 is acknowledged.