.ds f. guide.sec
.NH 1 "INTRODUCTION"
.XS
\s12\*(SN  INTRODUCTION\s0
.XE
.sp 2
.PP
Welcome to Khoros 1.0!
This document contains the information that you need to load and 
install the Khoros software onto your system.  Both source and binaries
are available via anonymous ftp or by ordering a tape and
printed documentation.
.LP
The installation procedure outline follows:
.RS
.IP "Step 1)" 10
ftp from pprg.unm.edu or order and receive a tape
.IP "Step 2)" 10
untar the source and/or binary files in KHOROS_HOME
.IP "Step 3)" 10
set up your user environment
.IP "Step 4)" 10
if you did NOT install binaries and want to compile, run \fBinstallit\fP
.IP "Step 5)" 10
read Chapter 1 of the Khoros manual and try Khoros out!
.RE
.sp
.NH 2 "PREREQUISITES"
.XS
      \*(SN  PREREQUISITES
.XE
.LP
If you are going to use the binaries provided (sun4, sun3, sgi, vax, or
dec mips), then the prerequisite is to have some version
of the the X windows system and about 40 Megabytes of disk space plus
the amount of space needed for binaries (see table below).  Khoros
runs best with MIT X11R4 servers using the twm window manager.
.LP
The following list of prerequisites is for those that plan on compiling the 
system.
.IP \(bu
X11R4 from MIT with current patches (levels 1-18).
You need X11R4 libraries (client libraries, \fIX11, Xaw, Xt, Xmu\fP and 
\fIXext\fP) to compile Khoros; however once Khoros is compiled, it 
will run with an X11R3 server.
.IP \(bu
A C compiler
.IP \(bu 
A Fortran compiler is recommended (not all of Khoros will be available without
a Fortran compiler)
.IP \(bu 
About 65 Megabytes of disk space plus room for objects, libraries
and binaries (see table below)
.LP
.TS
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
.de 35
.ps \n(.s
.vs \n(.vu
.in \n(.iu
.if \n(.u .fi
.if \n(.j .ad
.if \n(.j=0 .na
..
.nf
.nr #~ 0
.if \n(.T .if n .nr #~ 0.6n
.ds #d .d
.if \n(.z .ds #d nl
.fc
.nr 33 \n(.s
.nr 39 \n(.s
.rm 52 53 54 55 56
.if \n(.z \{\
.	ch #f
.	wh \n(nlu+\n(.tu-2v #f\}
.eo
.de #f
.ie \n(#& \{ \
.	nr #& 0
.	nr #| 1
.	di #o \}
.el \{ \
.	ch #f
.	nr T. 1
.	if \n(#| .sp
.	T#
.	sp \n(.tu
.	mk #T
.	nr #a \n(#T
.	nr #c \n(#T
.	nr ^a \n(#T
.	nr ^b \n(#T
.	nr ^c \n(#T
.	nr ^d \n(#T
.	nr ^e \n(#T
.	if \n(#| \{ \
.		in 0
.		#+
.		in
.		rm #+
.		mk 32
.		nr #| 0\}
.	wh \n(nlu+\n(.tu-2v #f \}
..
.de #%
.if \n(.z#o \{ \
.	sp |0u
.	in 0
.	#+
.	in
.	sp |\n(.hu
.	di
.	rn #o #+ \}
..
.ec
.nr 52 0
.nr 38 \wVendor
.if \n(52<\n(38 .nr 52 \n(38
.nr 38 \wDEC
.if \n(52<\n(38 .nr 52 \n(38
.nr 38 \wDEC
.if \n(52<\n(38 .nr 52 \n(38
.nr 38 \wSUN
.if \n(52<\n(38 .nr 52 \n(38
.nr 38 \wSUN
.if \n(52<\n(38 .nr 52 \n(38
.nr 38 \wSGI
.if \n(52<\n(38 .nr 52 \n(38
.52
.rm 52
.nr 53 0
.nr 38 \wName
.if \n(53<\n(38 .nr 53 \n(38
.nr 38 \w5000/3100
.if \n(53<\n(38 .nr 53 \n(38
.nr 38 \wVax 3600
.if \n(53<\n(38 .nr 53 \n(38
.nr 38 \wsparc
.if \n(53<\n(38 .nr 53 \n(38
.nr 38 \w3/260
.if \n(53<\n(38 .nr 53 \n(38
.nr 38 \w4D/25
.if \n(53<\n(38 .nr 53 \n(38
.53
.rm 53
.nr 54 0
.nr 38 \wOS
.if \n(54<\n(38 .nr 54 \n(38
.nr 38 \wUltrix 4.1
.if \n(54<\n(38 .nr 54 \n(38
.nr 38 \wUltrix 4.1
.if \n(54<\n(38 .nr 54 \n(38
.nr 38 \wSUN OS 4.1.1
.if \n(54<\n(38 .nr 54 \n(38
.nr 38 \wSUN OS 4.1.1
.if \n(54<\n(38 .nr 54 \n(38
.nr 38 \wOS 3.3.1
.if \n(54<\n(38 .nr 54 \n(38
.54
.rm 54
.nr 55 0
.nr 38 \w.o's and lib
.if \n(55<\n(38 .nr 55 \n(38
.nr 38 \w37
.if \n(55<\n(38 .nr 55 \n(38
.nr 38 \w16
.if \n(55<\n(38 .nr 55 \n(38
.nr 38 \w21
.if \n(55<\n(38 .nr 55 \n(38
.nr 38 \w18
.if \n(55<\n(38 .nr 55 \n(38
.nr 38 \w36
.if \n(55<\n(38 .nr 55 \n(38
.55
.rm 55
.nr 56 0
.nr 38 \wBinaries (Meg)
.if \n(56<\n(38 .nr 56 \n(38
.nr 38 \w66
.if \n(56<\n(38 .nr 56 \n(38
.nr 38 \w41
.if \n(56<\n(38 .nr 56 \n(38
.nr 38 \w63
.if \n(56<\n(38 .nr 56 \n(38
.nr 38 \w44
.if \n(56<\n(38 .nr 56 \n(38
.nr 38 \w70
.if \n(56<\n(38 .nr 56 \n(38
.56
.rm 56
.nr 38 \wKhoros 1.0 Binaries Are Available for These Architectures-\n(52-\n(53-\n(54-\n(55-\n(56
.if \n(38>0 .nr 38 \n(38/4
.if \n(38<0 .nr 38 0
.nr 52 +\n(38
.nr 53 +\n(38
.nr 54 +\n(38
.nr 55 +\n(38
.nr 38 0+\n(52+\n(53+\n(54+\n(55+\n(56
.nr 38 \n(.l-\n(38
.nr 38 \n(38/14
.if \n(38<0 .nr 38 0
.nr 51 0
.nr 40 \n(51+((2*\n(38)/2)
.nr 52 +\n(40
.nr 41 \n(52+((6*\n(38)/2)
.nr 53 +\n(41
.nr 42 \n(53+((6*\n(38)/2)
.nr 54 +\n(42
.nr 43 \n(54+((6*\n(38)/2)
.nr 55 +\n(43
.nr 44 \n(55+((6*\n(38)/2)
.nr 56 +\n(44
.nr TW \n(56
.nr TW +((2*\n(38)/2)
.ne 7v+(2u*(\n(.vu-\n(.sp))+(2u*(\n(.vu-\n(.sp))
.fc  
.nr #T 0-1
.nr #a 0-1
.nr #c 0-1
.nr #a 0-1
.eo
.de T#
.nr 38 \n(.s
.ps \n(39p
.nr 35 1m
.ds #d .d
.if \n(.z .ds #d nl
.mk ##
.nr ## -1v
.ls 1
.if \n(T. .vs \n(.vu-\n(.sp
.if \n(T. \v'-1p'\h'|0'\h'1p'\s\n(33\l'|\n(TWu-1p\(ul'\s0\v'2p'\h'|0'\h'-1p'\s\n(33\l'|\n(TWu+1p\(ul'\s0\v'-1p'
.if \n(T. .vs
.if \n(#T>=0 .nr #a \n(#T
.if \n(#c<0  .nr #c \n(#T
.if \n(#a>=0 \{\
.	sp -1
.	ie \n(#a=\n(#T \{\
\h'|0'\h'-1p'\v'1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v-2p'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'2p'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'|\n(TWu'\}
.	el \{\
\h'|0'\h'-1p'\v'1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v-2p'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'2p'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v+2p'\s0\v'\n(\*(#du-\n(#au+1v-1p'\h'|\n(TWu'\}\}
.if \n(#c>=0 \{\
.	sp -1
.	ie \n(#c=\n(#T \{\
.		ie \n(3a \{\
\h'(|\n(41u+|\n(52u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'|\n(TWu'\}
.		el \{\
\h'(|\n(41u+|\n(52u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.	el \{\
.	nr 3a 1
\h'(|\n(41u+|\n(52u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.if \n(#c>=0 \{\
.	sp -1
.	ie \n(#c=\n(#T \{\
.		ie \n(3a \{\
\h'(|\n(42u+|\n(53u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'|\n(TWu'\}
.		el \{\
\h'(|\n(42u+|\n(53u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.	el \{\
.	nr 3a 1
\h'(|\n(42u+|\n(53u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.if \n(#c>=0 \{\
.	sp -1
.	ie \n(#c=\n(#T \{\
.		ie \n(3a \{\
\h'(|\n(43u+|\n(54u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'|\n(TWu'\}
.		el \{\
\h'(|\n(43u+|\n(54u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.	el \{\
.	nr 3a 1
\h'(|\n(43u+|\n(54u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.if \n(#c>=0 \{\
.	sp -1
.	ie \n(#c=\n(#T \{\
.		ie \n(3a \{\
\h'(|\n(44u+|\n(55u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'|\n(TWu'\}
.		el \{\
\h'(|\n(44u+|\n(55u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.	el \{\
.	nr 3a 1
\h'(|\n(44u+|\n(55u)/2u'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u+1p'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
.if \n(#a>=0 \{.sp -1
.	ie \n(#a=\n(#T \{\
\h'|\n(TWu'\h'-1p'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v+1p'\h'2p'\v'1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v-2p'\s0\v'\n(\*(#du-\n(#au+1v+1p'\}
.	el \{\
\h'|\n(TWu'\h'-1p'\v'-1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v+2p'\s0\v'\n(\*(#du-\n(#au+1v-1p'\h'2p'\v'1p'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v-2p'\s0\v'\n(\*(#du-\n(#au+1v+1p'\}\}
.nr #c 0-1
.ls
.ps \n(38p
..
.ec
.if \n(.tu<=2v .#f
.nr tH 0
.nr 36 \n(.v
.vs \n(.vu-\n(.sp
\v'-1p'\h'|0'\h'-1p'\s\n(33\l'|\n(TWu+1p\(ul'\s0\v'2p'\h'|0'\h'1p'\s\n(33\l'|\n(TWu-1p\(ul'\s0\v'-1p'
.vs \n(36u
.mk #a
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'Khoros 1.0 Binaries Are Available for These Architectures
.if \n(.tu<=2v .#f
.nr tH 0
.mk #c
.nr 36 \n(.v
.vs \n(.vu-\n(.sp
\h'|0'\h'1p'\s\n(33\l'|\n(TWu-1p\(ul'\s0
.vs \n(36u
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'Vendor\h'|\n(41u'Name\h'|\n(42u'OS\h'|\n(43u'.o's and lib\h'|\n(44u'Binaries (Meg)
.if \n(.tu<=2v .#f
.nr tH 0
.nr 36 \n(.v
.vs \n(.vu-\n(.sp
\h'|0'\h'1p'\s\n(33\l'|\n(TWu-1p\(ul'\s0
.vs \n(36u
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'DEC\h'|\n(41u'5000/3100\h'|\n(42u'Ultrix 4.1\h'|\n(43u'37\h'|\n(44u'66
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'DEC\h'|\n(41u'Vax 3600\h'|\n(42u'Ultrix 4.1\h'|\n(43u'16\h'|\n(44u'41
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'SUN\h'|\n(41u'sparc\h'|\n(42u'SUN OS 4.1.1\h'|\n(43u'21\h'|\n(44u'63
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'SUN\h'|\n(41u'3/260\h'|\n(42u'SUN OS 4.1.1\h'|\n(43u'18\h'|\n(44u'44
.if \n(.tu<=2v .#f
.nr tH 0
.nr 32 0
.nr 32 \n(32u+\n(.du+2p
.ta \n(52u \n(53u \n(54u \n(55u \n(56u 
.nr 35 1m
.nr 31 \n(.f
.af 31 01
\&\h'|\n(40u'SGI\h'|\n(41u'4D/25\h'|\n(42u'OS 3.3.1\h'|\n(43u'36\h'|\n(44u'70
.fc
.ch #f
.rm #f
.nr T. 1
.T# \n(T.
.rm T#
.rr 3a
.35
.nr #a 0
.nr #c 0
.TE
.if \n-(b.=0 .nr c. \n(.c-\n(d.-13
.sp
.NH 2 "OTHER DOCUMENTATION"
.XS
      \*(SN  OTHER DOCUMENTATION
.XE
.PP
If you are unsure about the installation of Khoros and need 
additional information, the following documents may be of help:
.IP "khoros" 10
This is a four page overview of Khoros.  If you are not sure what Khoros 
is and what it can do, read this document to get a better overview than
the one provided in the announcement.
.IP "chapter1" 10
Volume I, Chapter 1 of the Khoros User's manual provides general information
for the Khoros user.  This should be considered required reading.
.IP "chapter9" 10
Volume II, Chapter 9 of the Khoros Programmer's Manual provides a detailed 
description of the source configuration and Imake system
used by Khoros.  This will be helpful to those who are porting the software
to other architectures or are having trouble with compiling.
.IP "appendixC" 10
Volume II, Appendix C of the Khoros Programmer's Manual provides a detailed 
description of the \fBimake\fP system symbols and rules. This document
is helpful when modifing the Khoros \fBimake\fP system.
.IP "announce" 10
This is the announcement of the Khoros 1.0 release.  It provides a brief
overview of Khoros and ordering information.
.IP "changes" 10
This document is a summary of the changes made since the release of 
Khoros BETA.   Please read this document if you developed any code
in the using BETA.
.LP
This document, install, and the six documents listed above are available in 
both postscript and plain text form on pprg.unm.edu in the 
directory \f(CWpub/khoros/release\fP.  If you are installing from tape, you
will find these documents in $KHOROS_HOME/release.
A *.ftp indicates that it is a plain text file, a *.ps indicates postscript 
(ready to print), and a *.ms indicates that it is the source "roff" file. 
Instructions on how to obtain these files is provided below.
.sp
.NH 2 "SUPPORT AND MAINTENANCE"
.XS
      \*(SN  SUPPORT AND MAINTENANCE
.XE
.PP
Even though many users of Khoros have said that it is quality software,
Khoros 1.0 is not a commercial product.
Support is provided via an e-mail
users group and periodic updates. To join the Khoros mailing list, mail to
khoros-request@chama.unm.edu.  To report bugs mail to 
khoros-bugs@chama.unm.edu.  Please use the bug report form found in 
 $KHOROS_HOME/repos as a template for reporting bugs.
.sp
.NH 2 "COMMON PROBLEMS"
.XS
      \*(SN  COMMON PROBLEMS
.XE
.PP
Khoros 1.0 is a large system, and often an end user only wants part of its
functionality.  This often leads to complaints about the system requirements.
The only solution to this problem
now is to obtain Khoros as it is and then delete the components of the
system that you do not want.
.PP
If you have ordered and received tapes, you can skip the following 
section on ftp distribution of Khoros.
.sp 3
.NH 1 "KHOROS VIA FTP DISTRIBUTION"
.XS
\s12\*(SN  KHOROS VIA FTP DISTRIBUTION\s0
.XE
.sp 2
.PP
First you must determine where on your system that you want to install
Khoros and then create a directory (any name is fine).
This can be done by creating a user named "khoros", or 
simply by creating a home directory
such as /usr/local/khoros or /usr/khoros.
.sp
.NH 2 "ACQUIRE TAR FILES"
.XS
      \*(SN  ACQUIRE TAR FILES
.XE
.LP
Move to the directory that you just created and then
execute the following commands to acquire the Khoros compressed TAR files.
.RS
.IP "a."
Use ftp to connect to pprg.unm.edu.
.br
\f(CW% ftp pprg.unm.edu\fP  
.br
	-or- 
.br
\f(CW% ftp 129.24.13.10\fP
.sp
.IP "b."
Use "anonymous" or "ftp" as the user name.
.br
\f(CWName (pprg.unm.edu:login): anonymous\fP 
.br
	-or- 
.br
\f(CWName (pprg.unm.edu:login): ftp\fP 
.sp
.IP "c."
Use your e-mail address as the password; please use a valid 
e-mail address, as this ftp site logs all anonymous ftp's.
.br
\f(CWPassword (pprg.unm.edu:user):\fP {your valid e-mail address}
.br
\f(CW331 Anonymous login ok, use your E-MAIL address as the password.
.br
230 Guest login ok, access restrictions apply.
\fP
.sp
.IP "d." 
Get the installation guide (this file, called install.ftp) for 
acquiring Khoros via anonymous ftp.
(note that "install.ftp" is the plain text file - both ".ms" and ".ps"
files are available for those who would like them).
.br
\f(CWftp> cd /pub/khoros/release
.br
ftp> get install.ftp\fP
.sp
.IP "e."
Set the ftp program to binary mode.
.br
\f(CWftp> bin\fP
.sp
.IP "f."
The next step is to actually get the Khoros TAR files.
The compressed TAR files are located in four separate
directories: bins (sun3, sun4, vax, decmips, sgi), system,
source and data.  Within each of these directories, you will
find both the compressed TAR file and a set of "split"
files created from that TAR file.  You can have a functional
Khoros system without the data and system directories, in other words,
a minimal system can be installed with only system and bins.
.IP
To get the system directory:
.br
\f(CWftp> cd system\fP
.br
\f(CWftp> get system.tar.Z\fP
.sp
.IP
The system.tar.Z has been split into many different files;
if you have trouble getting the system.tar.Z file, 
you may try getting each of the split files
individually. To use this method, substitute the previous commands with:
.IP
\f(CWftp> prompt
.br
ftp> mget system.[0-9]*\fP
.sp
.IP
The system.listing file contains checksums
and a TAR listing of the system files.  You may want to use this file
to verify the integrity of the transferred TAR file(s).
.sp
.IP "g."
In the above steps, you acquired the "foundation" (doc, dotfiles,
repos, man, manual, release) of the Khoros system. 
In order to get bins, source (src and include) and data, 
go to that directory on pprg.unm.edu
and follow the same basic steps as above.  A minimal system can be
created by only obtaining the system and bins directories.
.RE
.sp
.NH 2 "UNTAR THE FILES"
.XS
      \*(SN  UNTAR THE FILES
.XE
.PP
You have already created a "home" directory for the tar files, now you
must set the environment
variable KHOROS_HOME.  It should be set to the home directory that you
created above. For instance, if you created a home directory /usr/khoros,
.IP
\f(CW% setenv KHOROS_HOME /usr/khoros\fP
.br
      or
.IP
\f(CW% setenv KHOROS_HOME ~khoros\fP
.sp
if you set up a user name for Khoros.
.LP
All of the TAR files should be untarred in the KHOROS_HOME directory.
(In the case of untarring binaries for more than one architecture, you
may want to create a binmach directory and untar the bins into 
different subdirectories.)
To untar the system.tar.Z file, use the following commands:
.IP
\f(CW% cd $KHOROS_HOME\fP
.IP
\f(CW% zcat system.tar.Z | tar -xfB -\fP
.ce
-OR-
.br
\f(CW% uncompress -c  system.tar.Z | tar -xfB -\fP
.sp
.LP
If you transferred the split files instead of the system.tar.Z
file, you will need to do:
.IP
\f(CW% cd $KHOROS_HOME
.br
% cat system.[0-9]* | uncompress > system.tar
.br
% tar -xf system.tar\fP
.LP
Alternatively, you may use (WARNING: this is not as reliable and doesn't
seem to work on bindecmips):  
.IP
\f(CW% zcat system.[0-9]* | tar -xfB -\fP
.ce
-OR-
\f(CW% uncompress -c system.[0-9]* | tar -xfB -\fP
.sp
.LP
You should follow the same basic procedure for the data, source and
bins TAR files. After you untar the compressed TAR file, 
you may want to remove the TAR file to save space.
.sp
.NH 2 "COMMON PROBLEMS IN UNTARRING FILES"
.XS
      \*(SN  COMMON PROBLEMS IN UNTARRING FILES
.XE
.PP
It is not uncommon for the files to be corrupted during ftp transfer.  To
verify that you have good files, use the *.listing file and check to
see that the calculated checksums match.  If they do not, try acquiring the
file again.  You will have better luck with split files in this case.
.PP
Be sure that you have not run out of disk space by using the \f(CW%df .\fP
command.  Often, an uncompressed tar file gets left around after it
is untarred, delete it to free up space.
.sp
.NH 2 "CONFIGURE YOUR ENVIRONMENT"
.XS
      \*(SN  CONFIGURE YOUR ENVIRONMENT
.XE
.PP
You need to set up your user environment so that Khoros applications will 
run properly.  The files of concern are: .cshrc, .khoros_env and .Xdefaults.
If you need more details than provided below, please read Chapter 1, Volume 1
on "Getting Started" with Khoros.
.PP
Provided with the release is a directory called "dotfiles" that provides
templates or examples for the files mentioned below.
.sp
.IP .cshrc  12    
Modify your ".cshrc" file to include a path to $KHOROS_HOME/bin.  The ".cshrc"
file should \f(CWsource .khoros_env\fP.
.sp
.IP .khoros_env 
The environment variables used by Khoros are set in the .khoros_env file.
Use the file $KHOROS_HOME/dotfiles/khoros_env as a template.  
.IP
\f(CW% cp dotfiles/khoros_env .khoros_env\fP
.sp
.IP .Xdefaults  
Use the one provided to start with; it is in $KHOROS_HOME/dotfiles/Xdefaults.
.IP
\f(CW% cp dotfiles/Xdefaults .Xdefaults\fP
.IP
As a note, Khoros was developed using primarily the \fBtwm\fP 
window manager which is distributed with X11R4.  To test out your
new environment, execute the following commands:
.IP
\f(CW% source .cshrc\fP
.IP
\f(CW% xrdb .Xdefaults\fP
.PP
If you have obtained and untarred binaries, you can skip the following
section on compiling Khoros. However,
you need to execute the following program to configure
the man pages for your site:
.IP
\f(CW% $KHOROS_HOME/man/utils/tmac/customize\fP
.LP
.sp
.NH 2 "COMPILING KHOROS"
.XS
      \*(SN  COMPILING KHOROS
.XE
.PP
If you have all of the prerequisites as stated above, and you are
compiling for one of the platforms listed above, the configuation
should be quite simple.
However, if you are compiling for a
new (unsupported) architecture or want to support multiple
architectures, you should read $KHOROS_HOME/release/chapter9. We
suggent that you consult $KHOROS_HOME/release/chapter9 before
stating any compile.
.PP
Before starting the compile, the \fBimake\fP configuration files,
in $KHOROS_HOME/repos/config/imake_conf
must be modified. The files that need special attention are: 
\fIplatform.cf\fP, where \fIplatform\fP is the name of the 
architecture (i.e. for
a Sun use sun.cf, for a DecMips use ultrix.cf, etc), Site.def, and Library.def.
The symbol defines in these files need to be set according to how 
you want to compile
Khoros. For example, if your system does not have a Fortran compiler, the
symbol "HasFortran" in the \fIplatform.cf\fP file  must be set to "NO".
These files are fairly well commented, however Chapter9 and appendixC
will provide added help when modifing these files.
.PP
The standard installation assumes the following default directory locations:
.LP
.nf
		bin	$KHOROS_HOME/bin
		src	$KHOROS_HOME/src
		lib	$KHOROS_HOME/lib
.fi
If you decide to use alternate 
locations for source, binaries or libraries, then you need to modify
the $KHOROS_HOME/repos/config/imake_conf/Site.def file.
.LP
Once the \fBimake\fP configuration files have been modified, you are
ready to compile Khoros. The installit program
will prompt you for some default directories and startup flags.
To compile Khoros, execute the following commands:
.sp
.IP
\f(CW% cd $KHOROS_HOME/src
.br
% ./installit &\fP
.sp
.LP
If you would like to watch the compile, you can execute:
.IP
\f(CW% tail -f make.World\fP
.LP
Note that if you use the "tail" command to watch the Khoros system compile,
you will have to "^C" out of it when the compile has been completed.
.LP
The compile will take several hours.  Some typical times are listed below.
.sp
.nf
	SparcStation 1        5 hours (src mounted on NFS partition)
	Sun3/260              4.6 hours (using gcc on NFS partition)
	Vax 3500              4.4 hours (using cc  on NFS partition)
	DecStation 5000       3.33 hours (local disk)
	SGI 4D/25             3.33 hours (local disk)
.fi
.sp
.NH 2 "COMMON PROBLEMS IN COMPILING"
.XS
      \*(SN  COMMON PROBLEMS IN COMPILING
.XE
.LP
Again, the most common problems is that you run out of disk space or
NFS will time out during the compile.  If this happens, you should:
.IP
\f(CW% cd $KHOROS_HOME/src\fP
.br
\f(CW% make clean; installit &\fP
.LP
The reason that you need to "clean"
the system is because of the possibility of corrupted .o's and libs.
.PP
It is not unusual to have a system failure (NFS dies, machine crashes, etc)
during the compile.  Follow the same instructions as above.
.PP
If the "installit" fails due to compile errors, please verify that you
have configured the \fBimake\fP system files located in
$KHOROS_HOME/repos/config/imake_conf correctly. Consult Chapter9
for assistance.
.sp 3
.NH 1 "KHOROS VIA TAPE DISTRIBUTION"
.XS
\s12\*(SN  KHOROS VIA TAPE DISTRIBUTION\s0
.XE
.sp 2
.PP
The tape distribution consists of two tapes, one with data, system and source
and the other with binaries.
.sp
.NH 2 "UNTAR THE FILES"
.XS
      \*(SN  UNTAR THE FILES
.XE
.PP
First you must determine where on your system that you want to install
khoros and then create a directory (any name is fine).
This can be done by creating a user named "khoros", or 
simply by creating a home directory such as /usr/local/khoros or /usr/khoros.
The following commands are an example of what you might do:
.IP
\f(CW% cd /usr/local/src\fP
.br
\f(CW% mkdir khoros\fP
.br
\f(CW% df .\fP
.LP
The last command will tell you how much space is available on the disk
for Khoros.  Confirm that it is sufficient using the table provided
in the prerequisites section.
.PP
Once you have created a home directory for khoros, you must set the environment
variable KHOROS_HOME.  It should be set to the home directory that you
created above. For instance, if you created a home directory /usr/khoros,
.IP
\f(CW% setenv KHOROS_HOME /usr/khoros\fP
.LP
Now you are ready to untar the tapes onto your system.  First untar the
system tape (includes source, data and documentation).
.IP
\f(CW% cd $KHOROS_HOME\fP
.br
\f(CW% tar -xf {device-name}\fP 
.br
.LP
If you wish to use distributed binaries (i.e. you do not wish to
compile the system), load the other tape and execute the same
commands as above.
.LP
\fBNow proceed to section B4, B5 and B6.\fP
.sp 3
.NH 1 "GETTING STARTED"
.XS
\s12\*(SN  GETTING STARTED\s0
.XE
.PP
Now, you are ready to begin experimenting with the Khoros system.  To 
orient yourself, it is very important to read Volume 1, Chapter 1,
"Getting Started" even if you are familiar with Khoros BETA.
As noted before, this document can be found in $KHOROS_HOME/release.
But now that you have Khoros installed, you want to use the
manual printing utility, \fBprnmanual\fP, to obtain Chapter 1, 
"Getting Started", and other documents.
.PP
Questions, comments, constructive criticism can be mailed to the
Khoros Users Group.  To join this group, mail
to \f(CWkhoros-request@chama.unm.edu\fP.
\fIPLEASE:\fP only requests to get on or off the Khoros mailing
list should go to this address.  Other mail is very likely to get
lost or be deleted.
.PP
Once you are a member of the Khoros Users Group, you may mail any questions
that are not addressed in the Khoros Manuals to \f(CWkhoros@chama.unm.edu\fP.
If a member of the Khoros group itself cannot answer your question immediately,
it is likely that another Khoros user may be able to (there are well over
150 people on the mailing list already).  Constructive criticism, suggestions,
or open-format discussions are also welcome at \f(CWkhoros@chama.unm.edu\fP.
.PP
As with any system approaching the size of the Khoros system, you can expect
to find some bugs.  We already are aware of several bugs;  these can be found
in $KHOROS_HOME/repos/BugList.  If you find a bug in the Khoros system, please
look through this file first to see if it is one of the bugs that we already
have on our list.  We \fIstrongly\fP encourage you to report any bugs that
you may find that are not listed in the BugList.  All bugs are to be reported
via \fIemail\fP, to \f(CWkhoros-bugs@chama.unm.edu\fP.
.PP
We hope that you like the Khoros system! 
