Building the Macintosh version of Kerberos 5 and GSS ---------------------------------------------------- (Last updated $Date: 1999/04/29 20:33:40 $) If you have questions or comments about the Macintosh build process, send e-mail to . To build the Macintosh version of Kerberos 5 and GSS: --- Installing tools --- 1) Install CodeWarrior Pro 4, including MPW. This build of Kerberos v5 and GSS requires CodeWarrior Pro4 MPW tools. Don't forget to run one of 4 Metrowerks MPW scripts, as described at the bottom of MPW worksheet the first time you launch it. 2) Download MacPerl and MacPerl MPW tool from The MacPerl directory contains several versions of the app and the MPW tool. The *_appl and *_tool versions work properly with our scripts, e.g., you should download "Mac_Perl_520r4_appl.bin" and "Mac_Perl_520r4_tool.bin". 3) Install MacPerl and MacPerl MPW tool by following the installation instructions provided with them: - install MacPerl application before installing MacPerl tool - after installing MacPerl tool, run its MPW configuration script and follow the instructions --- Preparing Kerberos v5 build tree --- 4) Launch MPW. 5) Set directory in MPW to the top level of Kerberos 5 distribution (e.g. "GSS-Kerberos5"). 6) Build target "prebuild" in MPW. This will create a new Makefile, so you may be asked whether you want to save changes to the Makefile if you opened it before step 6. Save the changes. --- Building libraries --- 7) Build target "all" in MPW. Wait. Example build times: 30-40 minutes on a G3 machine, 80 minutes on a PowerMac 9600/233. You may receive some compile warnings about an ignored pragma, warnings about illegal implicit const pointer conversions, and some link warnings. These are normal and can be ignored. We used to see MPW crash during the link stage of the build. We think this has been fixed. If this happens to you, you should restart MPW and start the build again, and report the problem to macdev@mit.edu. --- Binaries --- The following assumes that you have followed the steps above to build the GSS & Kerberos 5 libraries. What you now have supports both the Kerberos 5 and GSS APIs. Each is supported as both CFM shared libraries and CodeWarrior static link libraries for both 68k & PowerPC Macs. We strongly recommend you use the CFM shared libraries. The following binary components are provided/built in this release: ":MIT Kerberos Library" * Fat CFM Shared Library including GSS, and Kerberos v5, CCache, and DES libraries. * Not for linking against in your projects; include in distributions to be placed in System Folder:Extensions. :GSSLib.68K * CFM Shared Library including GSS for 68k Macs. :GSSLib.PPC * CFM Shared Library including GSS for PowerPC Macs. :Kerberos5Lib.68K * CFM Shared Library including Kerberos 5 for 68k Macs. :Kerberos5Lib.68K * CFM Shared Library including Kerberos 5 for PowerPC Macs. :mac:krb5.ini * Sample krb5.ini file using CYGNUS.COM as the default realm :include * An include directory containing the files necessary for development --- Installation --- To install the Kerberos 5 system on your Mac: 1) Copy the :mac:krb5.ini file (configured for your site) into the "Preferences" folder in the "System Folder". 2) Install the shared libraries by copying the "MIT Kerberos Library" file to the "Extensions" folder in the "System Folder". 3) If you are using System 7.6 or earlier on a 68K Mac, install the CFM-68K Runtime Enabler 4.0, available from Apple at: --- Getting Started Programming --- You can program using either the Kerberos 5 or GSS APIs. To add Kerberos functionality to a Code Warrior based application: 1) PPC application: use shared libraries: For GSSAPI, add GSSLibraryPPC to your project For Kerberos v5 API, add K5LibraryPPC to your project Set the project options to 4 byte integers and enums treated as ints. 2) CFM-68K application: use shared libraries For GSSAPI, add GSSLibrary68K to your project For Kerberos v5 API, add K5Library68K to your project Set the project options to 4 byte integers and enums treated as ints. 3) Classic 68K application: use glue for shared libraries For GSSAPI, add GSSLib.glue.c to your project For Kerberos v5 API, add Kerberos5.glue.c to your project Set the project options to 4 byte integers and enums treated as ints. A PDF document describing the Kerberos 5 API is located at: (That document was created from tex files in the main Kerberos 5 source tree.) The GSSAPI is described in Internet RFC's 1508 and 1509: