.TH INSTALL 1
.SH NAME
install \- notes about Plan 9 from User Space installation
.SH SYNOPSIS
.B
cd \*9; ./INSTALL
[
.B -b
|
.B -c
] [
.B -r
.I path
]
.SH DESCRIPTION
To obtain the Plan 9 tree, use Mercurial
(see
.IR hg (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.
If you want to build the project in one location and then install into
another location, use
.B -r
.I path
to specify the
.I final
location of Plan9 tree.
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.sum
a summary of
.B install.log
.SH SEE ALSO
.IR intro (1),
.IR hg (1)
