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_VERSION="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://oss.software.ibm.com/developerworks/opensource/afs/ to see if any problems have been reported or to find out how to get more help.