2000-11-04 10:01:08 +00:00
|
|
|
Copyright 2000, International Business Machines Corporation and others.
|
|
|
|
All Rights Reserved.
|
|
|
|
|
|
|
|
This software has been released under the terms of the IBM Public
|
|
|
|
License. For details, see the LICENSE file in the top-level source
|
|
|
|
directory or online at http://www.openafs.org/dl/license10.html
|
|
|
|
|
2000-11-04 02:13:13 +00:00
|
|
|
Building OpenAFS on UNIX and LINUX
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
A. Creating the proper directory structure.
|
|
|
|
|
2001-02-07 16:28:02 +00:00
|
|
|
Uncompress the source into a directory of your choice. A directory
|
|
|
|
in afs space is also valid. In the directory that you uncompressed the
|
|
|
|
source in, you will only have an src/ directory.
|
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
1. Pick a system to build for, and note its default AFS sys_name.
|
|
|
|
A directory will be automatically created for binaries to be written
|
|
|
|
into with this name when you build.
|
|
|
|
|
|
|
|
alpha_dux40
|
|
|
|
alpha_dux50 (only tested on 5.0A)
|
|
|
|
i386_linux22
|
|
|
|
i386_linux24 (only tested with 2.4.0 kernel)
|
|
|
|
rs_aix42
|
|
|
|
sgi_65 (file server not tested)
|
|
|
|
sun4x_56
|
|
|
|
sun4x_57
|
|
|
|
sun4x_58
|
|
|
|
ppc_darwin_13
|
2001-09-05 00:28:20 +01:00
|
|
|
ppc_linux22
|
|
|
|
ppc_linux24
|
|
|
|
alpha_linux22 (DES does not work, will require one more change to
|
2001-03-27 01:53:26 +01:00
|
|
|
compile)
|
2001-06-28 07:44:19 +01:00
|
|
|
hp_ux110 (No client support, but db servers and utilities work)
|
|
|
|
hp_ux102 (No client support, but db servers and utilities work)
|
|
|
|
|
|
|
|
2. Using configure in the top level directory, configure for your
|
|
|
|
AFS system type, providing the necessary flags:
|
2001-09-07 05:18:59 +01:00
|
|
|
% ./configure --with-afs-sysname=sun4x_58 --enable-transarc-paths
|
2001-06-28 07:44:19 +01:00
|
|
|
|
2001-09-07 05:18:59 +01:00
|
|
|
For Linux systems you need also provide the path in which your
|
2001-06-28 07:44:19 +01:00
|
|
|
kernel headers for your configured kernel can be found. This should
|
|
|
|
be the path of the directory containing a child directory named
|
|
|
|
"include". So if your version file was
|
|
|
|
/usr/src/linux/include/linux/version.h you would invoke:
|
|
|
|
% ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux
|
|
|
|
|
|
|
|
Currently you can build for only one Linux kernel at a time,
|
|
|
|
and the version is extracted from the kernel headers in the root
|
|
|
|
you specify.
|
|
|
|
|
|
|
|
Be prepared to provide the switches --enable-obsolete and
|
|
|
|
--enable-insecure if you require the use of any bundled but obsolete
|
|
|
|
or insecure software included with OpenAFS. See README.obsolete and
|
|
|
|
README.insecure for more details.
|
2000-11-04 02:13:13 +00:00
|
|
|
|
2001-09-07 05:18:59 +01:00
|
|
|
There are two modes for directory path handling: "Transarc mode" and "default mode":
|
|
|
|
- In Transarc mode, we retain compatibility with Transarc/IBM AFS tools
|
|
|
|
by putting client configuaration files in /usr/vice/etc, and server
|
|
|
|
files in /usr/afs under the traditional directory layout.
|
|
|
|
- In default mode, files are located in standardized locations, usually
|
|
|
|
under $(prefix).
|
|
|
|
- Client programs, libraries, and related files always go in standard
|
|
|
|
directories under $(prefix). This rule covers things that would go
|
|
|
|
into $(bindir), $(includedir), $(libdir), $(mandir), and $(sbindir).
|
|
|
|
- Other files get located in the following places:
|
|
|
|
|
|
|
|
Directory Transarc Mode Default Mode
|
|
|
|
============ ========================= ==============================
|
|
|
|
viceetcdir /usr/vice/etc $(sysconfdir)/openafs
|
|
|
|
afssrvdir /usr/afs/bin (servers) $(libexecdir)/openafs
|
|
|
|
afsconfdir /usr/afs/etc $(sysconfdir)/openafs/server
|
|
|
|
afslocaldir /usr/afs/local $(localstatedir)/openafs
|
|
|
|
afsdbdir /usr/afs/db $(localstatedir)/openafs/db
|
|
|
|
afslogdir /usr/afs/logs $(localstatedir)/openafs/logs
|
|
|
|
afsbosconfig $(afslocaldir)/BosConfig $(afsconfdir)/BosConfig
|
|
|
|
afsbosserver $(afsbindir)/bosserver $(sbindir)/bosserver
|
|
|
|
|
|
|
|
|
2000-11-04 02:13:13 +00:00
|
|
|
B Building
|
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
1. Now, you can build OpenAFS.
|
2000-11-04 02:13:13 +00:00
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
% make
|
2000-11-04 02:13:13 +00:00
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
When the build completes, you will have a complete binary tree
|
|
|
|
in the dest directory under the directory named for the sys_name you
|
|
|
|
built for, e.g. sun4x_57/dest or i386_linux22/dest
|
2000-11-04 02:13:13 +00:00
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
2. As appropriate you can clean up or, if you're using Linux, build for
|
|
|
|
another kernel version:
|
|
|
|
a. To clean up:
|
|
|
|
% make clean
|
2000-11-04 02:13:13 +00:00
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
b. To build for another Linux kernel version:
|
|
|
|
the system type defined in step A1.
|
|
|
|
% ./configure --with-afs-sysname=i386_linux22 --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
|
|
|
|
% make
|
|
|
|
|
|
|
|
Your dest tree will now include an additional kernel module for your
|
|
|
|
additional kernel headers. Be aware that if the kernel version string
|
|
|
|
which UTS_RELEASE is defined to in include/linux/version.h matches
|
|
|
|
the last kernel you built for, the previous kernel module will be
|
|
|
|
overwritten.
|
2000-11-04 02:13:13 +00:00
|
|
|
|
|
|
|
C Problems
|
|
|
|
If you have a problem building this source, you may want to visit
|
2000-12-02 18:06:26 +00:00
|
|
|
http://www.openafs.org/ to see if any problems have been reported
|
|
|
|
or to find out how to get more help.
|
|
|
|
|
|
|
|
Mailing lists have been set up to help; More details can be found
|
|
|
|
on the openafs.org site.
|
|
|
|
|