pam-afs-password-changing-support-20010305
[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
31       Example:
32       % mkdir i386_linux22
33       % ls -CF
34       i386_linux22/     src/
35
36       Builds for the following platforms will not fully compile:
37
38       hp_ux110/
39
40    2. Within each of those directories, create a dest/ and obj/ directory.
41
42       Example:
43       % mkdir i386_linux22/dest
44       % mkdir i386_linux22/obj
45
46    3. Create symbolic links to the system type you are about to build
47       a. If the source is in AFS space
48
49          Example:
50          % ln -s @sys/dest dest
51          % ln -s @sys/obj  obj
52          % ls -CF
53          dest@     i386_linux22/     obj@     src/
54
55          Within AFS space, the AFS Cache Manager automatically
56          substitutes the local machine's AFS system name (CPU/operating
57          system type [ie: alpha_dux40, i386_linux22, ...]) for the @sys
58          variable.
59
60       b. If this source is NOT in AFS space, You must make a link from
61          @sys to your current system type. 
62
63          Example:
64          % ln -s i386_linux22 @sys
65          % ln -s @sys/dest dest
66          % ln -s @sys/obj  obj
67          % ls -CF
68          dest@     i386_linux22/     obj@     src/     sys@
69  
70    5. Create the top level Makefile:
71
72          Example:
73          % ln -s src/Makefile Makefile
74          % ls -CF
75          Makefile@     dest@     i386_linux22/     obj@     src/
76
77 B  Building
78
79    1. Make the obj links. This creates links from the @sys/obj/ tree
80       back to the source tree. The source tree remains unchanged and
81       builds are done in the platform specific object tree.
82
83       % make links
84
85    2. Begin building
86       a. For Linux
87          % make SYS_NAME="i386_linux22" LINUX_VERS="2.2.14"
88
89       b. For UNIX versions, specify the system name as given by
90          the system type defined in step A1.
91          % make SYS_NAME="<system_name>"
92
93          Example for the rs_aix42 operating system:
94          % make SYS_NAME="rs_aix42" 
95
96 C  Problems
97    If you have a problem building this source, you may want to visit
98    http://www.openafs.org/ to see if any problems have been reported 
99    or to find out how to get more help.
100
101    Mailing lists have been set up to help; More details can be found
102    on the openafs.org site.
103