.TH INSTALL 1
.SH NAME
install \- notes about Plan 9 from User Space installation
.SH SYNOPSIS
.B
cd \*9; ./INSTALL
[
.B -b
|
.B -c
]
.SH DESCRIPTION
To obtain the Plan 9 tree, use CVS
(see
.IR cvs (1))
or download a tar file from
.HR http://swtch.com/plan9port "" .
.PP
The tree can be unpacked anywhere, but the
usual place is
.BR /usr/local/plan9 .
In the root of the tree, run
.BR ./INSTALL .
This script builds the Plan 9 build program
.IR mk (1)
if necessary,
cleans all previously built object files and libraries out of the tree,
rebuilds and installs everything, and then cleans up.
.PP
There are a few files in tree which have the root
hard-coded in them.
After the build, 
.I INSTALL
edits these files to replace the string
.B /usr/local/plan9
with the name of the root of the current tree.
.PP
Finally,
.I INSTALL
builds an HTML version of the manual and installs it in
.BR \*9/man .
.PP
The installation can be thought of as two steps:
build all the binaries, and then edit files as necessary
to fix the references to the installation root.
If necessary, these can be run separately.
Given the
.B -b
flag,
.I INSTALL
performs only the first step.
Given the
.B -c
flag,
.I INSTALL
performs only the second step.
The first step can be done with the tree in a temporary work directory,
but the second step must be done once the tree is in its final location.
These flags are only necessary when trying to conform to the
expectations of certain package management systems.
.PP
At the end of the installation,
.I INSTALL
prints suggested settings for the environment variables 
.B $PLAN9
and
.BR $PATH .
.PP
Plan 9 from User Space uses different threading implementations on Linux 2.6 and
later kernels than on 2.4 and earlier;
and on FreeBSD 5 and later kernels than on FreeBSD 4 and earlier.
Running binaries from one class on another will not work.
.PP
Some Linux 2.6 systems (e.g., Gentoo) do not use the new NPTL pthread library
even though the kernel supports them.  On these systems, plan9port must 
fall back on the threading code intended for Linux 2.4.  To accomplish this,
.I INSTALL
checks whether the running system uses NPTL and sets
.B SYSVERSION
in
.B \*9/config
accordingly.
The file
.B \*9/LOCAL.config
is appended to
.B config
after this auto-detection and can be used to override the choices.
If 
.B LOCAL.config
contains a line
.B WSYSTYPE=nowsys
then the system is built without using X11.
.PP
On most Linux systems, the X11 header packages need to be installed
to build using X11.  On Debian. the required packages are
libx11-dev, libxext-dev, and libxt-dev.
On Ubuntu, it suffices to install xorg-dev.
.PP
.I INSTALL
can safely be repeated to rebuild the system from scratch.
.PP
Once the system is built for the first time,
it can be maintained and rebuilt using 
.IR mk (1).
To rebuild individual commands or libraries,
run
.B mk
.B install
and
.B mk
.B clean
in the appropriate source directory
(see
.IR src (1)).
.SH FILES
.TP
.B \*9/lib/moveplan9.files
the list of files that need to have
.B /usr/local/plan9
edited out of them
.TP
.B \*9/lib/moveplan9.sh
the script that edits the files
.TP
.B \*9/src/mkmk.sh
the shell script used to build
.IR mk (1)
.TP
.B \*9/dist/manweb
the shell script that builds the HTML manual
.TP
.B \*9/man/index.html
the top-level page in the HTML version of the manual
.TP
.B \*9/install.log
logged output from the last run of
.I INSTALL
.TP
.B \*9/install.isum
a summary of
.B install.log
.SH SEE ALSO
.IR intro (1),
.IR cvs (1)
