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. Preferrably, afs space. 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/ i386_linux22/ rs_aix42/ sun4x_56/ sun4x_57/ Example: % mkdir i386_linux22 % ls -CF i386_linux22/ src/ Builds for the following platforms will not fully compile: hp_ux110/ sgi_65/ 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 Example: % ln -s @sys/dest dest % ln -s @sys/obj obj % ls -CF Makefile@ dest@ i386_linux22/ obj@ src/ 4. 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 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. 5. Create the top level Makefile: a. For LINUX and UNIX versions Example: % ln -s src/Makefile Makefile % ls -CF Makefile@ i386_linux22/ 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.