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 Building OpenAFS on UNIX and LINUX ---------------------------------- A. Creating the proper directory structure. 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. 1. Make a directory for each system type that you plan on building. Current tested system types include the following (this step is skipped for the i386_nt40 system type): 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/ alpha_linux_2216_22/ (DES does not work, will require one more change to compile) hp_ux110/ (No client support, but db servers and utilities work) hp_ux102/ (No client support, but db servers and utilities work) Example: % mkdir i386_linux22 % ls -CF i386_linux22/ src/ 2. Within each of those directories, create a dest/ and obj/ directory. Example: % mkdir i386_linux22/dest % mkdir i386_linux22/obj 3. Create symbolic links to the system type you are about to build a. If the source is in AFS space Example: % ln -s @sys/dest dest % ln -s @sys/obj obj % ls -CF dest@ i386_linux22/ obj@ src/ Within AFS space, the AFS Cache Manager automatically substitutes the local machine's AFS system name (CPU/operating system type [ie: alpha_dux40, i386_linux22, ...]) for the @sys variable. b. If this source is NOT in AFS space, You must make a link from @sys to your current system type. Example: % ln -s i386_linux22 @sys % ln -s @sys/dest dest % ln -s @sys/obj obj % ls -CF dest@ i386_linux22/ obj@ src/ sys@ 5. Create the top level Makefile: Example: % ln -s src/Makefile Makefile % ls -CF Makefile@ dest@ i386_linux22/ obj@ src/ B Building 1. Make the obj links. This creates links from the @sys/obj/ tree back to the source tree. The source tree remains unchanged and builds are done in the platform specific object tree. % make links 2. Begin building a. For Linux % make SYS_NAME="i386_linux22" LINUX_VERS="2.2.14" b. For UNIX versions, specify the system name as given by the system type defined in step A1. % make SYS_NAME="" Example for the rs_aix42 operating system: % make SYS_NAME="rs_aix42" C Problems If you have a problem building this source, you may want to visit 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.