remove-bad-non-binary-commit-of-afs-docs-20010519
[openafs.git] / src / README
1 Copyright 2000, International Business Machines Corporation and others.
2 All Rights Reserved.
3
4 This software has been released under the terms of the IBM Public
5 License.  For details, see the LICENSE file in the top-level source
6 directory or online at http://www.openafs.org/dl/license10.html
7
8 Building OpenAFS on UNIX and LINUX
9 ----------------------------------
10
11 A. Creating the proper directory structure.
12
13    Uncompress the source into a directory of your choice. A directory
14    in afs space is also valid. In the directory that you uncompressed the
15    source in, you will only have an src/ directory.
16
17    1. Make a directory for each system type that you plan on
18       building. Current tested system types include the following
19      (this step is skipped for the i386_nt40 system type):
20
21       alpha_dux40/
22       alpha_dux50/ (only tested on 5.0A)
23       i386_linux22/
24       i386_linux24/ (only tested with 2.4.0 kernel)
25       rs_aix42/
26       sgi_65/ (file server not tested)
27       sun4x_56/
28       sun4x_57/
29       sun4x_58/
30       ppc_darwin_13/
31       alpha_linux_2216_22/ (DES does not work, will require one more change to
32                                 compile)
33       hp_ux110/ (No client support, but db servers and utilities work)
34       hp_ux102/ (No client support, but db servers and utilities work)
35
36       Example:
37       % mkdir i386_linux22
38       % ls -CF
39       i386_linux22/     src/
40
41    2. Within each of those directories, create a dest/ and obj/ directory.
42
43       Example:
44       % mkdir i386_linux22/dest
45       % mkdir i386_linux22/obj
46
47    3. Create symbolic links to the system type you are about to build
48       a. If the source is in AFS space
49
50          Example:
51          % ln -s @sys/dest dest
52          % ln -s @sys/obj  obj
53          % ls -CF
54          dest@     i386_linux22/     obj@     src/
55
56          Within AFS space, the AFS Cache Manager automatically
57          substitutes the local machine's AFS system name (CPU/operating
58          system type [ie: alpha_dux40, i386_linux22, ...]) for the @sys
59          variable.
60
61       b. If this source is NOT in AFS space, You must make a link from
62          @sys to your current system type. 
63
64          Example:
65          % ln -s i386_linux22 @sys
66          % ln -s @sys/dest dest
67          % ln -s @sys/obj  obj
68          % ls -CF
69          dest@     i386_linux22/     obj@     src/     sys@
70  
71    5. Create the top level Makefile:
72
73          Example:
74          % ln -s src/Makefile Makefile
75          % ls -CF
76          Makefile@     dest@     i386_linux22/     obj@     src/
77
78 B  Building
79
80    1. Make the obj links. This creates links from the @sys/obj/ tree
81       back to the source tree. The source tree remains unchanged and
82       builds are done in the platform specific object tree.
83
84       % make links
85
86    2. Begin building
87       a. For Linux
88          % make SYS_NAME="i386_linux22" LINUX_VERS="2.2.14"
89
90       b. For UNIX versions, specify the system name as given by
91          the system type defined in step A1.
92          % make SYS_NAME="<system_name>"
93
94          Example for the rs_aix42 operating system:
95          % make SYS_NAME="rs_aix42" 
96
97 C  Problems
98    If you have a problem building this source, you may want to visit
99    http://www.openafs.org/ to see if any problems have been reported 
100    or to find out how to get more help.
101
102    Mailing lists have been set up to help; More details can be found
103    on the openafs.org site.
104