none
[openafs-wiki.git] / AFSLore / HowToBuildOpenAFSFromSource.mdwn
1 This is a guide on how to build [[OpenAFS]] from source code. Note that [[OpenAFS]] pre-built binaries are available on the [[OpenAFS]] site and are available as prebuilt packages for many platforms. These instructions may be useful for you if you need to build [[OpenAFS]] from source.
2
3 ### <a name="Requirements"></a> Requirements
4
5 Tools
6
7 - cvs client
8 - autoconf
9 - automake
10 - perl 5.6
11 - gcc (versions?)
12 - GNU make
13 - lex/yacc (flex/bison)
14
15 Libraries
16
17 - libc
18 - kerberos, optional, but recommended
19 - ncurses
20 - kernel headers
21
22 If you are building on Debian, you can get the required software with the following apt-get commands.
23
24       apt-get install cvs autoconf automake make gcc flex bison
25       apt-get install libc6-dev libkrb5-dev libncurses5-dev linux-headers-$(uname -r)
26
27 ### <a name="Getting the Source Code from CVS"></a> Getting the Source Code from CVS
28
29 You can get development snapshots from the [[OpenAFS]] CVS repository. The CVS tree may not always have code which can currently be built. While every effort is made to keep the head of the tree buildable, you may at any time find yourself between commits and hence have a tree which does not build, or worse, causes more serious problems.
30
31 First you need to run cvs login. This step is normally only done once. A ~/.cvspass file will be created for additional checkouts.
32
33        cvs -d :pserver:anonymous@cvs.openafs.org:/cvs  login
34        password is anonymous
35
36 To check out the 1.4 branch:
37
38        cvs -d :pserver:anonymous@cvs.openafs.org:/cvs co -r openafs-stable-1_4_x openafs
39
40 To check out the 1.5 development branch:
41
42        cvs -d :pserver:anonymous@cvs.openafs.org:/cvs co -r openafs-devel-1_5_x openafs
43
44 See the CVSWeb interface at <http://www.openafs.org/frameset/cgi-bin/cvsweb.cgi/openafs/> to see a full list of available branches and tags
45
46 CVS snapshots do not include files generated by autoconf; You can run regen.sh at the top level to create these files. You will need to have autoconf and automake installed on your system.
47
48 ### <a name="Building the Binaries"></a> Building the Binaries
49
50 #### <a name="Quick Answer"></a> Quick Answer
51
52 To build [[OpenAFS]] with Kerberos 5 support and the traditional paths:
53
54        cd openafs
55        ./regen.sh
56        ./configure  --enable-debug --enable-transarc-paths --with-krb5-conf=(full path to krb5-config script)
57        make
58        make dest
59
60 You will need the Kerberos development libraries to build Kerbose support.
61
62 ### <a name="Installing the Binaries"></a> Installing the Binaries
63
64 After make dest, the binaries are placed into a dest directory, under a platform directory, such as i386\_linux26.
65
66       # cp -r i386_linux26/dest/root.client/usr/vice/etc/modload /usr/vice/etc
67       # cp i386_linux26/dest/root.client/usr/vice/etc/afsd /usr/vice/etc
68       # cp -r i386_linux26/dest/bin /usr/afsws
69       # cp -r i386_linux26/dest/etc /usr/afsws
70       # cp -r i386_linux26/dest/include /usr/afsws
71       # cp -r i386_linux26/dest/lib /usr/afsws
72       # cp -r i386_linux26/dest/root.server/usr/afs/* /usr/afs
73
74 ### <a name="Initial testing"></a> Initial testing
75
76 -- [[MichaelMeffie]] - 09 Oct 2007