install.1 (3392B)
1 .TH INSTALL 1 2 .SH NAME 3 install \- notes about Plan 9 from User Space installation 4 .SH SYNOPSIS 5 .B 6 cd \*9; ./INSTALL 7 [ 8 .B -b 9 | 10 .B -c 11 ] [ 12 .B -r 13 .I path 14 ] 15 .SH DESCRIPTION 16 To obtain the Plan 9 tree, use Git 17 (see 18 .MR git (1) ) 19 or download a tar file from 20 .HR https://9fans.github.io/plan9port "" . 21 .PP 22 The tree can be unpacked anywhere, but the 23 usual place is 24 .BR /usr/local/plan9 . 25 In the root of the tree, run 26 .BR ./INSTALL . 27 This script builds the Plan 9 build program 28 .MR mk (1) 29 if necessary, 30 cleans all previously built object files and libraries out of the tree, 31 rebuilds and installs everything, and then cleans up. 32 .PP 33 There are a few files in tree which have the root 34 hard-coded in them. 35 After the build, 36 .I INSTALL 37 edits these files to replace the string 38 .B /usr/local/plan9 39 with the name of the root of the current tree. 40 .PP 41 Finally, 42 .I INSTALL 43 builds an HTML version of the manual and installs it in 44 .BR \*9/man . 45 .PP 46 The installation can be thought of as two steps: 47 build all the binaries, and then edit files as necessary 48 to fix the references to the installation root. 49 If necessary, these can be run separately. 50 Given the 51 .B -b 52 flag, 53 .I INSTALL 54 performs only the first step. 55 Given the 56 .B -c 57 flag, 58 .I INSTALL 59 performs only the second step. 60 The first step can be done with the tree in a temporary work directory, 61 but the second step must be done once the tree is in its final location. 62 If you want to build the project in one location and then install into 63 another location, use 64 .B -r 65 .I path 66 to specify the 67 .I final 68 location of Plan9 tree. 69 These flags are only necessary when trying to conform to the 70 expectations of certain package management systems. 71 .PP 72 At the end of the installation, 73 .I INSTALL 74 prints suggested settings for the environment variables 75 .B $PLAN9 76 and 77 .BR $PATH . 78 .PP 79 .I INSTALL 80 writes various autodetected settings to 81 .BR \*9/config . 82 The file 83 .B \*9/LOCAL.config 84 is appended to 85 .B config 86 after this auto-detection and can be used to override the choices. 87 If 88 .B LOCAL.config 89 contains a line 90 .B WSYSTYPE=nowsys 91 then the system is built without using X11. 92 .B LOCAL.config 93 may also list settings for 94 .B CC9 95 (the host C compiler) 96 and 97 .B CC9FLAGS 98 (any additional flags to pass to the compiler). 99 Values more complex than single words should be quoted 100 with single quotes. 101 .PP 102 On most Linux systems, the X11 header packages need to be installed 103 to build using X11. On Debian. the required packages are 104 libfontconfig1-dev, libx11-dev, libxext-dev, and libxt-dev. 105 On Ubuntu, it suffices to install xorg-dev. 106 .PP 107 .I INSTALL 108 can safely be repeated to rebuild the system from scratch. 109 .PP 110 Once the system is built for the first time, 111 it can be maintained and rebuilt using 112 .MR mk (1) . 113 To rebuild individual commands or libraries, 114 run 115 .B mk 116 .B install 117 and 118 .B mk 119 .B clean 120 in the appropriate source directory 121 (see 122 .MR src (1) ). 123 .SH FILES 124 .TP 125 .B \*9/lib/moveplan9.files 126 the list of files that need to have 127 .B /usr/local/plan9 128 edited out of them 129 .TP 130 .B \*9/lib/moveplan9.sh 131 the script that edits the files 132 .TP 133 .B \*9/src/mkmk.sh 134 the shell script used to build 135 .MR mk (1) 136 .TP 137 .B \*9/dist/manweb 138 the shell script that builds the HTML manual 139 .TP 140 .B \*9/man/index.html 141 the top-level page in the HTML version of the manual 142 .TP 143 .B \*9/install.log 144 logged output from the last run of 145 .I INSTALL 146 .TP 147 .B \*9/install.sum 148 a summary of 149 .B install.log 150 .SH SEE ALSO 151 .MR intro (1) , 152 .MR git (1)