See "compiling krb5-1.2.8 for OS X Server 10.2.5" thread in krbdev. Quick summary: He's been tripped up by the linker's search through the library path for dynamic libraries before searching for static libraries. Most other linkers don't actually work that way (they search each directory for both shared and static libraries, then move on to the next directory), except modern Tru64 and that difference is documented along with the means to use the old style behavior, which I think we're doing. Mac OS X, on the other hand, does search all the directories for dynamic libraries before looking for static libraries, it's not documented, and there's no (known) way to change it. So building a static-only tree when dynamic libraries are installed will not work properly.