1%% Generated by Sphinx. 2\def\sphinxdocclass{report} 3\documentclass[letterpaper,10pt,english]{sphinxmanual} 4\ifdefined\pdfpxdimen 5 \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen 6\fi \sphinxpxdimen=.75bp\relax 7\ifdefined\pdfimageresolution 8 \pdfimageresolution= \numexpr \dimexpr1in\relax/\sphinxpxdimen\relax 9\fi 10%% let collapsible pdf bookmarks panel have high depth per default 11\PassOptionsToPackage{bookmarksdepth=5}{hyperref} 12 13\PassOptionsToPackage{warn}{textcomp} 14\usepackage[utf8]{inputenc} 15\ifdefined\DeclareUnicodeCharacter 16% support both utf8 and utf8x syntaxes 17 \ifdefined\DeclareUnicodeCharacterAsOptional 18 \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}} 19 \else 20 \let\sphinxDUC\DeclareUnicodeCharacter 21 \fi 22 \sphinxDUC{00A0}{\nobreakspace} 23 \sphinxDUC{2500}{\sphinxunichar{2500}} 24 \sphinxDUC{2502}{\sphinxunichar{2502}} 25 \sphinxDUC{2514}{\sphinxunichar{2514}} 26 \sphinxDUC{251C}{\sphinxunichar{251C}} 27 \sphinxDUC{2572}{\textbackslash} 28\fi 29\usepackage{cmap} 30\usepackage[T1]{fontenc} 31\usepackage{amsmath,amssymb,amstext} 32\usepackage{babel} 33 34 35 36\usepackage{tgtermes} 37\usepackage{tgheros} 38\renewcommand{\ttdefault}{txtt} 39 40 41 42\usepackage[Bjarne]{fncychap} 43\usepackage{sphinx} 44 45\fvset{fontsize=auto} 46\usepackage{geometry} 47 48 49% Include hyperref last. 50\usepackage{hyperref} 51% Fix anchor placement for figures with captions. 52\usepackage{hypcap}% it must be loaded after hyperref. 53% Set up styles of URL: it should be placed after hyperref. 54\urlstyle{same} 55 56 57\usepackage{sphinxmessages} 58\setcounter{tocdepth}{0} 59 60 61 62\title{Building MIT Kerberos} 63\date{ } 64\release{1.21.3} 65\author{MIT} 66\newcommand{\sphinxlogo}{\vbox{}} 67\renewcommand{\releasename}{Release} 68\makeindex 69\begin{document} 70 71\pagestyle{empty} 72\sphinxmaketitle 73\pagestyle{plain} 74\sphinxtableofcontents 75\pagestyle{normal} 76\phantomsection\label{\detokenize{build/index::doc}} 77 78 79\sphinxAtStartPar 80This section details how to build and install MIT Kerberos software 81from the source. 82 83 84\chapter{Prerequisites} 85\label{\detokenize{build/index:prerequisites}} 86\sphinxAtStartPar 87In order to build Kerberos V5, you will need approximately 60\sphinxhyphen{}70 88megabytes of disk space. The exact amount will vary depending on the 89platform and whether the distribution is compiled with debugging 90symbol tables or not. 91 92\sphinxAtStartPar 93Your C compiler must conform to ANSI C (ISO/IEC 9899:1990, “c89”). 94Some operating systems do not have an ANSI C compiler, or their 95default compiler requires extra command\sphinxhyphen{}line options to enable ANSI C 96conformance. 97 98\sphinxAtStartPar 99If you wish to keep a separate build tree, which contains the compiled 100*.o file and executables, separate from your source tree, you will 101need a make program which supports \sphinxstylestrong{VPATH}, or you will need to use 102a tool such as lndir to produce a symbolic link tree for your build 103tree. 104 105 106\chapter{Obtaining the software} 107\label{\detokenize{build/index:obtaining-the-software}} 108\sphinxAtStartPar 109The source code can be obtained from MIT Kerberos Distribution page, 110at \sphinxurl{https://kerberos.org/dist/index.html}. 111The MIT Kerberos distribution comes in an archive file, generally 112named krb5\sphinxhyphen{}VERSION\sphinxhyphen{}signed.tar, where \sphinxstyleemphasis{VERSION} is a placeholder for 113the major and minor versions of MIT Kerberos. (For example, MIT 114Kerberos 1.9 has major version “1” and minor version “9”.) 115 116\sphinxAtStartPar 117The krb5\sphinxhyphen{}VERSION\sphinxhyphen{}signed.tar contains a compressed tar file consisting 118of the sources for all of Kerberos (generally named 119krb5\sphinxhyphen{}VERSION.tar.gz) and a PGP signature file for this source tree 120(generally named krb5\sphinxhyphen{}VERSION.tar.gz.asc). MIT highly recommends that 121you verify the integrity of the source code using this signature, 122e.g., by running: 123 124\begin{sphinxVerbatim}[commandchars=\\\{\}] 125\PYG{n}{tar} \PYG{n}{xf} \PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{\PYGZhy{}}\PYG{n}{signed}\PYG{o}{.}\PYG{n}{tar} 126\PYG{n}{gpg} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{verify} \PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{.}\PYG{n}{tar}\PYG{o}{.}\PYG{n}{gz}\PYG{o}{.}\PYG{n}{asc} 127\end{sphinxVerbatim} 128 129\sphinxAtStartPar 130Unpack krb5\sphinxhyphen{}VERSION.tar.gz in some directory. In this section we will assume 131that you have chosen the top directory of the distribution the directory 132\sphinxcode{\sphinxupquote{/u1/krb5\sphinxhyphen{}VERSION}}. 133 134\sphinxAtStartPar 135Review the README file for the license, copyright and other sprecific to the 136distribution information. 137 138 139\chapter{Contents} 140\label{\detokenize{build/index:contents}} 141 142\section{Organization of the source directory} 143\label{\detokenize{build/directory_org:organization-of-the-source-directory}}\label{\detokenize{build/directory_org::doc}} 144\sphinxAtStartPar 145Below is a brief overview of the organization of the complete source 146directory. More detailed descriptions follow. 147 148 149\begin{savenotes}\sphinxattablestart 150\centering 151\begin{tabulary}{\linewidth}[t]{|T|T|} 152\hline 153 154\sphinxAtStartPar 155appl 156& 157\sphinxAtStartPar 158Kerberos application client and server programs 159\\ 160\hline 161\sphinxAtStartPar 162ccapi 163& 164\sphinxAtStartPar 165Credential cache services 166\\ 167\hline 168\sphinxAtStartPar 169clients 170& 171\sphinxAtStartPar 172Kerberos V5 user programs (See \DUrole{xref,std,std-ref}{user\_commands}) 173\\ 174\hline 175\sphinxAtStartPar 176config 177& 178\sphinxAtStartPar 179Configure scripts 180\\ 181\hline 182\sphinxAtStartPar 183config\sphinxhyphen{}files 184& 185\sphinxAtStartPar 186Sample Kerberos configuration files 187\\ 188\hline 189\sphinxAtStartPar 190include 191& 192\sphinxAtStartPar 193include files needed to build the Kerberos system 194\\ 195\hline 196\sphinxAtStartPar 197kadmin 198& 199\sphinxAtStartPar 200Administrative interface to the Kerberos database: \DUrole{xref,std,std-ref}{kadmin(1)}, \DUrole{xref,std,std-ref}{kdb5\_util(8)}, \DUrole{xref,std,std-ref}{ktutil(1)}. 201\\ 202\hline 203\sphinxAtStartPar 204kdc 205& 206\sphinxAtStartPar 207Kerberos V5 Authentication Service and Key Distribution Center 208\\ 209\hline 210\sphinxAtStartPar 211{\hyperref[\detokenize{build/directory_org:lib}]{\sphinxcrossref{lib}}} 212& 213\sphinxAtStartPar 214Libraries for use with/by Kerberos V5 215\\ 216\hline 217\sphinxAtStartPar 218plugins 219& 220\sphinxAtStartPar 221Kerberos plugins directory 222\\ 223\hline 224\sphinxAtStartPar 225po 226& 227\sphinxAtStartPar 228Localization infrastructure 229\\ 230\hline 231\sphinxAtStartPar 232prototype 233& 234\sphinxAtStartPar 235Templates files containing the MIT copyright message and a placeholder for the title and description of the file. 236\\ 237\hline 238\sphinxAtStartPar 239kprop 240& 241\sphinxAtStartPar 242Utilities for propagating the database to replica KDCs \DUrole{xref,std,std-ref}{kprop(8)} and \DUrole{xref,std,std-ref}{kpropd(8)} 243\\ 244\hline 245\sphinxAtStartPar 246tests 247& 248\sphinxAtStartPar 249Test suite 250\\ 251\hline 252\sphinxAtStartPar 253{\hyperref[\detokenize{build/directory_org:util}]{\sphinxcrossref{util}}} 254& 255\sphinxAtStartPar 256Various utilities for building/configuring the code, sending bug reports, etc. 257\\ 258\hline 259\sphinxAtStartPar 260windows 261& 262\sphinxAtStartPar 263Source code for building Kerberos V5 on Windows (see windows/README) 264\\ 265\hline 266\end{tabulary} 267\par 268\sphinxattableend\end{savenotes} 269 270 271\subsection{lib} 272\label{\detokenize{build/directory_org:lib}}\label{\detokenize{build/directory_org:id1}} 273\sphinxAtStartPar 274The lib directory contain several subdirectories as well as some 275definition and glue files. 276\begin{itemize} 277\item {} 278\sphinxAtStartPar 279The apputils directory contains the code for the generic network 280servicing. 281 282\item {} 283\sphinxAtStartPar 284The crypto subdirectory contains the Kerberos V5 encryption 285library. 286 287\item {} 288\sphinxAtStartPar 289The gssapi library contains the Generic Security Services API, 290which is a library of commands to be used in secure client\sphinxhyphen{}server 291communication. 292 293\item {} 294\sphinxAtStartPar 295The kadm5 directory contains the libraries for the KADM5 296administration utilities. 297 298\item {} 299\sphinxAtStartPar 300The Kerberos 5 database libraries are contained in kdb. 301 302\item {} 303\sphinxAtStartPar 304The krb5 directory contains Kerberos 5 API. 305 306\item {} 307\sphinxAtStartPar 308The rpc directory contains the API for the Kerberos Remote 309Procedure Call protocol. 310 311\end{itemize} 312 313 314\subsection{util} 315\label{\detokenize{build/directory_org:util}}\label{\detokenize{build/directory_org:id2}}\begin{description} 316\item[{The util directory contains several utility programs and libraries.}] \leavevmode\begin{itemize} 317\item {} 318\sphinxAtStartPar 319the programs used to configure and build the code, such as 320autoconf, lndir, kbuild, reconf, and makedepend, are in this 321directory. 322 323\item {} 324\sphinxAtStartPar 325the profile directory contains most of the functions which parse 326the Kerberos configuration files (krb5.conf and kdc.conf). 327 328\item {} 329\sphinxAtStartPar 330the Kerberos error table library and utilities (et); 331 332\item {} 333\sphinxAtStartPar 334the Sub\sphinxhyphen{}system library and utilities (ss); 335 336\item {} 337\sphinxAtStartPar 338database utilities (db2); 339 340\item {} 341\sphinxAtStartPar 342pseudo\sphinxhyphen{}terminal utilities (pty); 343 344\item {} 345\sphinxAtStartPar 346bug\sphinxhyphen{}reporting program send\sphinxhyphen{}pr; 347 348\item {} 349\sphinxAtStartPar 350a generic support library support used by several of our other 351libraries; 352 353\item {} 354\sphinxAtStartPar 355the build infrastructure for building lightweight Kerberos client 356(collected\sphinxhyphen{}client\sphinxhyphen{}lib) 357 358\item {} 359\sphinxAtStartPar 360the tool for validating Kerberos configuration files 361(confvalidator); 362 363\item {} 364\sphinxAtStartPar 365the toolkit for kernel integrators for building krb5 code subsets 366(gss\sphinxhyphen{}kernel\sphinxhyphen{}lib); 367 368\item {} 369\sphinxAtStartPar 370source code for building Kerberos V5 on MacOS (mac) 371 372\item {} 373\sphinxAtStartPar 374Windows getopt operations (windows) 375 376\end{itemize} 377 378\end{description} 379 380 381\section{Doing the build} 382\label{\detokenize{build/doing_build:doing-the-build}}\label{\detokenize{build/doing_build::doc}} 383 384\subsection{Building within a single tree} 385\label{\detokenize{build/doing_build:building-within-a-single-tree}}\label{\detokenize{build/doing_build:do-build}} 386\sphinxAtStartPar 387If you only need to build Kerberos for one platform, using a single 388directory tree which contains both the source files and the object 389files is the simplest. However, if you need to maintain Kerberos for 390a large number of platforms, you will probably want to use separate 391build trees for each platform. We recommend that you look at OS 392Incompatibilities, for notes that we have on particular operating 393systems. 394 395\sphinxAtStartPar 396If you don’t want separate build trees for each architecture, then use 397the following abbreviated procedure: 398 399\begin{sphinxVerbatim}[commandchars=\\\{\}] 400\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src} 401\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} 402\PYG{n}{make} 403\end{sphinxVerbatim} 404 405\sphinxAtStartPar 406That’s it! 407 408 409\subsection{Building with separate build directories} 410\label{\detokenize{build/doing_build:building-with-separate-build-directories}} 411\sphinxAtStartPar 412If you wish to keep separate build directories for each platform, you 413can do so using the following procedure. (Note, this requires that 414your make program support VPATH. GNU’s make will provide this 415functionality, for example.) If your make program does not support 416this, see the next section. 417 418\sphinxAtStartPar 419For example, if you wish to store the binaries in \sphinxcode{\sphinxupquote{tmpbuild}} build 420directory you might use the following procedure: 421 422\begin{sphinxVerbatim}[commandchars=\\\{\}] 423\PYG{n}{mkdir} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{tmpbuild} 424\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{tmpbuild} 425\PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src}\PYG{o}{/}\PYG{n}{configure} 426\PYG{n}{make} 427\end{sphinxVerbatim} 428 429 430\subsection{Building using lndir} 431\label{\detokenize{build/doing_build:building-using-lndir}} 432\sphinxAtStartPar 433If you wish to keep separate build directories for each platform, and 434you do not have access to a make program which supports VPATH, all is 435not lost. You can use the lndir program to create symbolic link trees 436in your build directory. 437 438\sphinxAtStartPar 439For example, if you wish to create a build directory for solaris 440binaries you might use the following procedure: 441 442\begin{sphinxVerbatim}[commandchars=\\\{\}] 443mkdir /u1/krb5\PYGZhy{}VERSION/solaris 444cd /u1/krb5\PYGZhy{}VERSION/solaris 445/u1/krb5\PYGZhy{}VERSION/src/util/lndir `pwd`/../src 446./configure 447make 448\end{sphinxVerbatim} 449 450\sphinxAtStartPar 451You must give an absolute pathname to lndir because it has a bug that 452makes it fail for relative pathnames. Note that this version differs 453from the latest version as distributed and installed by the 454XConsortium with X11R6. Either version should be acceptable. 455 456 457\subsection{Installing the binaries} 458\label{\detokenize{build/doing_build:installing-the-binaries}} 459\sphinxAtStartPar 460Once you have built Kerberos, you should install the binaries. You can 461do this by running: 462 463\begin{sphinxVerbatim}[commandchars=\\\{\}] 464\PYG{n}{make} \PYG{n}{install} 465\end{sphinxVerbatim} 466 467\sphinxAtStartPar 468If you want to install the binaries into a destination directory that 469is not their final destination, which may be convenient if you want to 470build a binary distribution to be deployed on multiple hosts, you may 471use: 472 473\begin{sphinxVerbatim}[commandchars=\\\{\}] 474\PYG{n}{make} \PYG{n}{install} \PYG{n}{DESTDIR}\PYG{o}{=}\PYG{o}{/}\PYG{n}{path}\PYG{o}{/}\PYG{n}{to}\PYG{o}{/}\PYG{n}{destdir} 475\end{sphinxVerbatim} 476 477\sphinxAtStartPar 478This will install the binaries under \sphinxstyleemphasis{DESTDIR/PREFIX}, e.g., the user 479programs will install into \sphinxstyleemphasis{DESTDIR/PREFIX/bin}, the libraries into 480\sphinxstyleemphasis{DESTDIR/PREFIX/lib}, etc. \sphinxstyleemphasis{DESTDIR} must be an absolute path. 481 482\sphinxAtStartPar 483Some implementations of make allow multiple commands to be run in 484parallel, for faster builds. We test our Makefiles in parallel builds 485with GNU make only; they may not be compatible with other parallel 486build implementations. 487 488 489\subsection{Testing the build} 490\label{\detokenize{build/doing_build:testing-the-build}} 491\sphinxAtStartPar 492The Kerberos V5 distribution comes with built\sphinxhyphen{}in regression tests. To 493run them, simply type the following command while in the top\sphinxhyphen{}level 494build directory (i.e., the directory where you sent typed make to 495start building Kerberos; see {\hyperref[\detokenize{build/doing_build:do-build}]{\sphinxcrossref{\DUrole{std,std-ref}{Building within a single tree}}}}): 496 497\begin{sphinxVerbatim}[commandchars=\\\{\}] 498\PYG{n}{make} \PYG{n}{check} 499\end{sphinxVerbatim} 500 501\sphinxAtStartPar 502On some operating systems, you have to run \sphinxcode{\sphinxupquote{make install}} before 503running \sphinxcode{\sphinxupquote{make check}}, or the test suite will pick up installed 504versions of Kerberos libraries rather than the newly built ones. You 505can install into a prefix that isn’t in the system library search 506path, though. Alternatively, you can configure with 507\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}rpath}, which renders the build tree less suitable 508for installation, but allows testing without interference from 509previously installed libraries. 510 511\sphinxAtStartPar 512There are additional regression tests available, which are not run 513by \sphinxcode{\sphinxupquote{make check}}. These tests require manual setup and teardown of 514support infrastructure which is not easily automated, or require 515excessive resources for ordinary use. The procedure for running 516the manual tests is documented at 517\sphinxurl{https://k5wiki.kerberos.org/wiki/Manual\_Testing}. 518 519 520\subsection{Cleaning up the build} 521\label{\detokenize{build/doing_build:cleaning-up-the-build}}\begin{itemize} 522\item {} 523\sphinxAtStartPar 524Use \sphinxcode{\sphinxupquote{make clean}} to remove all files generated by running make 525command. 526 527\item {} 528\sphinxAtStartPar 529Use \sphinxcode{\sphinxupquote{make distclean}} to remove all files generated by running 530./configure script. After running \sphinxcode{\sphinxupquote{make distclean}} your source 531tree (ideally) should look like the raw (just un\sphinxhyphen{}tarred) source 532tree. 533 534\end{itemize} 535 536 537\subsection{Using autoconf} 538\label{\detokenize{build/doing_build:using-autoconf}} 539\sphinxAtStartPar 540(If you are not a developer, you can ignore this section.) 541 542\sphinxAtStartPar 543In the Kerberos V5 source directory, there is a configure script which 544automatically determines the compilation environment and creates the 545proper Makefiles for a particular platform. This configure script is 546generated using autoconf, which you should already have installed if 547you will be making changes to \sphinxcode{\sphinxupquote{src/configure.in}}. 548 549\sphinxAtStartPar 550Normal users will not need to worry about running autoconf; the 551distribution comes with the configure script already prebuilt. 552 553\sphinxAtStartPar 554The autoconf package comes with a script called \sphinxcode{\sphinxupquote{autoreconf}} that 555will automatically run \sphinxcode{\sphinxupquote{autoconf}} and \sphinxcode{\sphinxupquote{autoheader}} as needed. You 556should run \sphinxcode{\sphinxupquote{autoreconf}} from the top source directory, e.g.: 557 558\begin{sphinxVerbatim}[commandchars=\\\{\}] 559\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src} 560\PYG{n}{autoreconf} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{verbose} 561\end{sphinxVerbatim} 562 563 564\section{Options to \sphinxstyleemphasis{configure}} 565\label{\detokenize{build/options2configure:options-to-configure}}\label{\detokenize{build/options2configure:options2configure}}\label{\detokenize{build/options2configure::doc}} 566\sphinxAtStartPar 567There are a number of options to configure which you can use to 568control how the Kerberos distribution is built. 569 570 571\subsection{Most commonly used options} 572\label{\detokenize{build/options2configure:most-commonly-used-options}}\begin{description} 573\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}help}}] \leavevmode 574\sphinxAtStartPar 575Provides help to configure. This will list the set of commonly 576used options for building Kerberos. 577 578\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix=}\sphinxstyleemphasis{PREFIX}}] \leavevmode 579\sphinxAtStartPar 580By default, Kerberos will install the package’s files rooted at 581\sphinxcode{\sphinxupquote{/usr/local}}. If you desire to place the binaries into the 582directory \sphinxstyleemphasis{PREFIX}, use this option. 583 584\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix=}\sphinxstyleemphasis{EXECPREFIX}}] \leavevmode 585\sphinxAtStartPar 586This option allows one to separate the architecture independent 587programs from the host\sphinxhyphen{}dependent files (configuration files, 588manual pages). Use this option to install architecture\sphinxhyphen{}dependent 589programs in \sphinxstyleemphasis{EXECPREFIX}. The default location is the value of 590specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} option. 591 592\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}localstatedir=}\sphinxstyleemphasis{LOCALSTATEDIR}}] \leavevmode 593\sphinxAtStartPar 594This option sets the directory for locally modifiable 595single\sphinxhyphen{}machine data. In Kerberos, this mostly is useful for 596setting a location for the KDC data files, as they will be 597installed in \sphinxcode{\sphinxupquote{LOCALSTATEDIR/krb5kdc}}, which is by default 598\sphinxcode{\sphinxupquote{PREFIX/var/krb5kdc}}. 599 600\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}netlib}{[}=\sphinxstyleemphasis{libs}{]}}] \leavevmode 601\sphinxAtStartPar 602Allows for suppression of or replacement of network libraries. By 603default, Kerberos V5 configuration will look for \sphinxcode{\sphinxupquote{\sphinxhyphen{}lnsl}} and 604\sphinxcode{\sphinxupquote{\sphinxhyphen{}lsocket}}. If your operating system has a broken resolver 605library or fails to pass the tests in \sphinxcode{\sphinxupquote{src/tests/resolv}}, you 606will need to use this option. 607 608\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}dns\sphinxhyphen{}for\sphinxhyphen{}realm}}] \leavevmode 609\sphinxAtStartPar 610Enable the use of DNS to look up a host’s Kerberos realm, 611if the information is not provided in 612\DUrole{xref,std,std-ref}{krb5.conf(5)}. See \DUrole{xref,std,std-ref}{mapping\_hostnames} 613for information about using DNS to determine the default realm. 614DNS lookups for realm names are disabled by default. 615 616\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}et}}] \leavevmode 617\sphinxAtStartPar 618Use an installed version of the error\sphinxhyphen{}table (et) support software, 619the compile\_et program, the com\_err.h header file and the com\_err 620library. If these are not in the default locations, you may wish 621to specify \sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and 622\sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options at configuration time as 623well. 624 625\sphinxAtStartPar 626If this option is not given, a version supplied with the Kerberos 627sources will be built and installed along with the rest of the 628Kerberos tree, for Kerberos applications to link against. 629 630\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss}}] \leavevmode 631\sphinxAtStartPar 632Use an installed version of the subsystem command\sphinxhyphen{}line interface 633software, the mk\_cmds program, the \sphinxcode{\sphinxupquote{ss/ss.h}} header file and the 634ss library. If these are not in the default locations, you may 635wish to specify \sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and 636\sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options at configuration time as 637well. See also the \sphinxstylestrong{SS\_LIB} option. 638 639\sphinxAtStartPar 640If this option is not given, the ss library supplied with the 641Kerberos sources will be compiled and linked into those programs 642that need it; it will not be installed separately. 643 644\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}db}}] \leavevmode 645\sphinxAtStartPar 646Use an installed version of the Berkeley DB package, which must 647provide an API compatible with version 1.85. This option is 648unsupported and untested. In particular, we do not know if the 649database\sphinxhyphen{}rename code used in the dumpfile load operation will 650behave properly. 651 652\sphinxAtStartPar 653If this option is not given, a version supplied with the Kerberos 654sources will be built and installed. (We are not updating this 655version at this time because of licensing issues with newer 656versions that we haven’t investigated sufficiently yet.) 657 658\end{description} 659 660 661\subsection{Environment variables} 662\label{\detokenize{build/options2configure:environment-variables}}\begin{description} 663\item[{\sphinxstylestrong{CC=}\sphinxstyleemphasis{COMPILER}}] \leavevmode 664\sphinxAtStartPar 665Use \sphinxstyleemphasis{COMPILER} as the C compiler. 666 667\item[{\sphinxstylestrong{CFLAGS=}\sphinxstyleemphasis{FLAGS}}] \leavevmode 668\sphinxAtStartPar 669Use \sphinxstyleemphasis{FLAGS} as the default set of C compiler flags. 670 671\item[{\sphinxstylestrong{CPP=}\sphinxstyleemphasis{CPP}}] \leavevmode 672\sphinxAtStartPar 673C preprocessor to use. (e.g., \sphinxcode{\sphinxupquote{CPP=\textquotesingle{}gcc \sphinxhyphen{}E\textquotesingle{}}}) 674 675\item[{\sphinxstylestrong{CPPFLAGS=}\sphinxstyleemphasis{CPPOPTS}}] \leavevmode 676\sphinxAtStartPar 677Use \sphinxstyleemphasis{CPPOPTS} as the default set of C preprocessor flags. The 678most common use of this option is to select certain \#define’s for 679use with the operating system’s include files. 680 681\item[{\sphinxstylestrong{DB\_HEADER=}\sphinxstyleemphasis{headername}}] \leavevmode 682\sphinxAtStartPar 683If db.h is not the correct header file to include to compile 684against the Berkeley DB 1.85 API, specify the correct header file 685name with this option. For example, \sphinxcode{\sphinxupquote{DB\_HEADER=db3/db\_185.h}}. 686 687\item[{\sphinxstylestrong{DB\_LIB=}\sphinxstyleemphasis{libs}…}] \leavevmode 688\sphinxAtStartPar 689If \sphinxcode{\sphinxupquote{\sphinxhyphen{}ldb}} is not the correct library specification for the 690Berkeley DB library version to be used, override it with this 691option. For example, \sphinxcode{\sphinxupquote{DB\_LIB=\sphinxhyphen{}ldb\sphinxhyphen{}3.3}}. 692 693\item[{\sphinxstylestrong{DEFCCNAME=}\sphinxstyleemphasis{ccachename}}] \leavevmode 694\sphinxAtStartPar 695Override the built\sphinxhyphen{}in default credential cache name. 696For example, \sphinxcode{\sphinxupquote{DEFCCNAME=DIR:/var/run/user/\%\{USERID\}/ccache}} 697See \DUrole{xref,std,std-ref}{parameter\_expansion} for information about supported 698parameter expansions. 699 700\item[{\sphinxstylestrong{DEFCKTNAME=}\sphinxstyleemphasis{keytabname}}] \leavevmode 701\sphinxAtStartPar 702Override the built\sphinxhyphen{}in default client keytab name. 703The format is the same as for \sphinxstyleemphasis{DEFCCNAME}. 704 705\item[{\sphinxstylestrong{DEFKTNAME=}\sphinxstyleemphasis{keytabname}}] \leavevmode 706\sphinxAtStartPar 707Override the built\sphinxhyphen{}in default keytab name. 708The format is the same as for \sphinxstyleemphasis{DEFCCNAME}. 709 710\item[{\sphinxstylestrong{LD=}\sphinxstyleemphasis{LINKER}}] \leavevmode 711\sphinxAtStartPar 712Use \sphinxstyleemphasis{LINKER} as the default loader if it should be different from 713C compiler as specified above. 714 715\item[{\sphinxstylestrong{LDFLAGS=}\sphinxstyleemphasis{LDOPTS}}] \leavevmode 716\sphinxAtStartPar 717This option informs the linker where to get additional libraries 718(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}L\textless{}lib dir\textgreater{}}}). 719 720\item[{\sphinxstylestrong{LIBS=}\sphinxstyleemphasis{LDNAME}}] \leavevmode 721\sphinxAtStartPar 722This option allows one to specify libraries to be passed to the 723linker (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}l\textless{}library\textgreater{}}}) 724 725\item[{\sphinxstylestrong{PKCS11\_MODNAME=}\sphinxstyleemphasis{library}}] \leavevmode 726\sphinxAtStartPar 727Override the built\sphinxhyphen{}in default PKCS11 library name. 728 729\item[{\sphinxstylestrong{SS\_LIB=}\sphinxstyleemphasis{libs}…}] \leavevmode 730\sphinxAtStartPar 731If \sphinxcode{\sphinxupquote{\sphinxhyphen{}lss}} is not the correct way to link in your installed ss 732library, for example if additional support libraries are needed, 733specify the correct link options here. Some variants of this 734library are around which allow for Emacs\sphinxhyphen{}like line editing, but 735different versions require different support libraries to be 736explicitly specified. 737 738\sphinxAtStartPar 739This option is ignored if \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss} is not specified. 740 741\item[{\sphinxstylestrong{YACC}}] \leavevmode 742\sphinxAtStartPar 743The ‘Yet Another C Compiler’ implementation to use. Defaults to 744the first program found out of: ‘\sphinxtitleref{bison \sphinxhyphen{}y}’, ‘\sphinxtitleref{byacc}’, 745‘\sphinxtitleref{yacc}’. 746 747\item[{\sphinxstylestrong{YFLAGS}}] \leavevmode 748\sphinxAtStartPar 749The list of arguments that will be passed by default to \$YACC. 750This script will default YFLAGS to the empty string to avoid a 751default value of \sphinxcode{\sphinxupquote{\sphinxhyphen{}d}} given by some make applications. 752 753\end{description} 754 755 756\subsection{Fine tuning of the installation directories} 757\label{\detokenize{build/options2configure:fine-tuning-of-the-installation-directories}}\begin{description} 758\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}bindir=}\sphinxstyleemphasis{DIR}}] \leavevmode 759\sphinxAtStartPar 760User executables. Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/bin}}, where 761\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix} 762configuration option. 763 764\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}sbindir=}\sphinxstyleemphasis{DIR}}] \leavevmode 765\sphinxAtStartPar 766System admin executables. Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/sbin}}, where 767\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix} 768configuration option. 769 770\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}sysconfdir=}\sphinxstyleemphasis{DIR}}] \leavevmode 771\sphinxAtStartPar 772Read\sphinxhyphen{}only single\sphinxhyphen{}machine data such as krb5.conf. 773Defaults to \sphinxcode{\sphinxupquote{PREFIX/etc}}, where 774\sphinxstyleemphasis{PREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration 775option. 776 777\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}libdir=}\sphinxstyleemphasis{DIR}}] \leavevmode 778\sphinxAtStartPar 779Object code libraries. Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/lib}}, where 780\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix} 781configuration option. 782 783\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}includedir=}\sphinxstyleemphasis{DIR}}] \leavevmode 784\sphinxAtStartPar 785C header files. Defaults to \sphinxcode{\sphinxupquote{PREFIX/include}}, where \sphinxstyleemphasis{PREFIX} is 786the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration option. 787 788\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir=}\sphinxstyleemphasis{DATAROOTDIR}}] \leavevmode 789\sphinxAtStartPar 790Read\sphinxhyphen{}only architecture\sphinxhyphen{}independent data root. Defaults to 791\sphinxcode{\sphinxupquote{PREFIX/share}}, where \sphinxstyleemphasis{PREFIX} is the path specified by 792\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration option. 793 794\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datadir=}\sphinxstyleemphasis{DIR}}] \leavevmode 795\sphinxAtStartPar 796Read\sphinxhyphen{}only architecture\sphinxhyphen{}independent data. Defaults to path 797specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir} configuration option. 798 799\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}localedir=}\sphinxstyleemphasis{DIR}}] \leavevmode 800\sphinxAtStartPar 801Locale\sphinxhyphen{}dependent data. Defaults to \sphinxcode{\sphinxupquote{DATAROOTDIR/locale}}, where 802\sphinxstyleemphasis{DATAROOTDIR} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir} 803configuration option. 804 805\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}mandir=}\sphinxstyleemphasis{DIR}}] \leavevmode 806\sphinxAtStartPar 807Man documentation. Defaults to \sphinxcode{\sphinxupquote{DATAROOTDIR/man}}, where 808\sphinxstyleemphasis{DATAROOTDIR} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir} 809configuration option. 810 811\end{description} 812 813 814\subsection{Program names} 815\label{\detokenize{build/options2configure:program-names}}\begin{description} 816\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}prefix=}\sphinxstyleemphasis{PREFIX}}] \leavevmode 817\sphinxAtStartPar 818Prepend \sphinxstyleemphasis{PREFIX} to the names of the programs when installing 819them. For example, specifying \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}program\sphinxhyphen{}prefix=mit\sphinxhyphen{}}} at the 820configure time will cause the program named \sphinxcode{\sphinxupquote{abc}} to be 821installed as \sphinxcode{\sphinxupquote{mit\sphinxhyphen{}abc}}. 822 823\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}suffix=}\sphinxstyleemphasis{SUFFIX}}] \leavevmode 824\sphinxAtStartPar 825Append \sphinxstyleemphasis{SUFFIX} to the names of the programs when installing them. 826For example, specifying \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}program\sphinxhyphen{}suffix=\sphinxhyphen{}mit}} at the configure 827time will cause the program named \sphinxcode{\sphinxupquote{abc}} to be installed as 828\sphinxcode{\sphinxupquote{abc\sphinxhyphen{}mit}}. 829 830\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}transform\sphinxhyphen{}name=}\sphinxstyleemphasis{PROGRAM}}] \leavevmode 831\sphinxAtStartPar 832Run \sphinxcode{\sphinxupquote{sed \sphinxhyphen{}e PROGRAM}} on installed program names. (\sphinxstyleemphasis{PROGRAM} is a 833sed script). 834 835\end{description} 836 837 838\subsection{System types} 839\label{\detokenize{build/options2configure:system-types}}\begin{description} 840\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}build=}\sphinxstyleemphasis{BUILD}}] \leavevmode 841\sphinxAtStartPar 842Configure for building on \sphinxstyleemphasis{BUILD} 843(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}build=x86\_64\sphinxhyphen{}linux\sphinxhyphen{}gnu}}). 844 845\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}host=}\sphinxstyleemphasis{HOST}}] \leavevmode 846\sphinxAtStartPar 847Cross\sphinxhyphen{}compile to build programs to run on \sphinxstyleemphasis{HOST} 848(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}host=x86\_64\sphinxhyphen{}linux\sphinxhyphen{}gnu}}). By default, Kerberos V5 849configuration will look for “build” option. 850 851\end{description} 852 853 854\subsection{Optional features} 855\label{\detokenize{build/options2configure:optional-features}}\begin{description} 856\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}option\sphinxhyphen{}checking}}] \leavevmode 857\sphinxAtStartPar 858Ignore unrecognized \textendash{}enable/\textendash{}with options. 859 860\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}}\sphinxstyleemphasis{FEATURE}}] \leavevmode 861\sphinxAtStartPar 862Do not include \sphinxstyleemphasis{FEATURE} (same as \textendash{}enable\sphinxhyphen{}FEATURE=no). 863 864\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}}\sphinxstyleemphasis{FEATURE}{[}=\sphinxstyleemphasis{ARG}{]}}] \leavevmode 865\sphinxAtStartPar 866Include \sphinxstyleemphasis{FEATURE} {[}ARG=yes{]}. 867 868\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}maintainer\sphinxhyphen{}mode}}] \leavevmode 869\sphinxAtStartPar 870Enable rebuilding of source files, Makefiles, etc. 871 872\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}delayed\sphinxhyphen{}initialization}}] \leavevmode 873\sphinxAtStartPar 874Initialize library code when loaded. Defaults to delay until 875first use. 876 877\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}thread\sphinxhyphen{}support}}] \leavevmode 878\sphinxAtStartPar 879Don’t enable thread support. Defaults to enabled. 880 881\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}rpath}}] \leavevmode 882\sphinxAtStartPar 883Suppress run path flags in link lines. 884 885\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}athena}}] \leavevmode 886\sphinxAtStartPar 887Build with MIT Project Athena configuration. 888 889\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}kdc\sphinxhyphen{}lookaside\sphinxhyphen{}cache}}] \leavevmode 890\sphinxAtStartPar 891Disable the cache which detects client retransmits. 892 893\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}pkinit}}] \leavevmode 894\sphinxAtStartPar 895Disable PKINIT plugin support. 896 897\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}aesni}}] \leavevmode 898\sphinxAtStartPar 899Disable support for using AES instructions on x86 platforms. 900 901\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}asan}{[}=\sphinxstyleemphasis{ARG}{]}}] \leavevmode 902\sphinxAtStartPar 903Enable building with asan memory error checking. If \sphinxstyleemphasis{ARG} is 904given, it controls the \sphinxhyphen{}fsanitize compilation flag value (the 905default is “address”). 906 907\end{description} 908 909 910\subsection{Optional packages} 911\label{\detokenize{build/options2configure:optional-packages}}\begin{description} 912\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}}\sphinxstyleemphasis{PACKAGE}{[}=ARG{]}}] \leavevmode 913\sphinxAtStartPar 914Use \sphinxstyleemphasis{PACKAGE} (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}imap}}). The default value of \sphinxstyleemphasis{ARG} 915is \sphinxcode{\sphinxupquote{yes}}. 916 917\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}}\sphinxstyleemphasis{PACKAGE}}] \leavevmode 918\sphinxAtStartPar 919Do not use \sphinxstyleemphasis{PACKAGE} (same as \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}PACKAGE=no}}) 920(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}libedit}}). 921 922\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}size\sphinxhyphen{}optimizations}}] \leavevmode 923\sphinxAtStartPar 924Enable a few optimizations to reduce code size possibly at some 925run\sphinxhyphen{}time cost. 926 927\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}et}}] \leavevmode 928\sphinxAtStartPar 929Use the com\_err library and compile\_et utility that are already 930installed on the system, instead of building and installing 931local versions. 932 933\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss}}] \leavevmode 934\sphinxAtStartPar 935Use the ss library and mk\_cmds utility that are already installed 936on the system, instead of building and using private versions. 937 938\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}db}}] \leavevmode 939\sphinxAtStartPar 940Use the berkeley db utility already installed on the system, 941instead of using a private version. This option is not 942recommended; enabling it may result in incompatibility with key 943databases originating on other systems. 944 945\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}netlib=}\sphinxstyleemphasis{LIBS}}] \leavevmode 946\sphinxAtStartPar 947Use the resolver library specified in \sphinxstyleemphasis{LIBS}. Use this variable 948if the C library resolver is insufficient or broken. 949 950\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}hesiod=}\sphinxstyleemphasis{path}}] \leavevmode 951\sphinxAtStartPar 952Compile with Hesiod support. The \sphinxstyleemphasis{path} points to the Hesiod 953directory. By default Hesiod is unsupported. 954 955\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}ldap}}] \leavevmode 956\sphinxAtStartPar 957Compile OpenLDAP database backend module. 958 959\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}lmdb}}] \leavevmode 960\sphinxAtStartPar 961Compile LMDB database backend module. 962 963\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}vague\sphinxhyphen{}errors}}] \leavevmode 964\sphinxAtStartPar 965Do not send helpful errors to client. For example, if the KDC 966should return only vague error codes to clients. 967 968\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}crypto\sphinxhyphen{}impl=}\sphinxstyleemphasis{IMPL}}] \leavevmode 969\sphinxAtStartPar 970Use specified crypto implementation (e.g., \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}crypto\sphinxhyphen{}impl=}\sphinxstyleemphasis{openssl}). The default is the native MIT 971Kerberos implementation \sphinxcode{\sphinxupquote{builtin}}. The other currently 972implemented crypto backend is \sphinxcode{\sphinxupquote{openssl}}. (See 973\DUrole{xref,std,std-ref}{mitK5features}) 974 975\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}libedit}}] \leavevmode 976\sphinxAtStartPar 977Do not compile and link against libedit. Some utilities will no 978longer offer command history or completion in interactive mode if 979libedit is disabled. 980 981\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}readline}}] \leavevmode 982\sphinxAtStartPar 983Compile and link against GNU readline, as an alternative to libedit. 984 985\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}verto}}] \leavevmode 986\sphinxAtStartPar 987Use an installed version of libverto. If the libverto header and 988library are not in default locations, you may wish to specify 989\sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and \sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options 990at configuration time as well. 991 992\sphinxAtStartPar 993If this option is not given, the build system will try to detect 994an installed version of libverto and use it if it is found. 995Otherwise, a version supplied with the Kerberos sources will be 996built and installed. The built\sphinxhyphen{}in version does not contain the 997full set of back\sphinxhyphen{}end modules and is not a suitable general 998replacement for the upstream version, but will work for the 999purposes of Kerberos. 1000 1001\sphinxAtStartPar 1002Specifying \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}system\sphinxhyphen{}verto} will cause the built\sphinxhyphen{}in 1003version of libverto to be used unconditionally. 1004 1005\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}krb5\sphinxhyphen{}config=}\sphinxstyleemphasis{PATH}}] \leavevmode 1006\sphinxAtStartPar 1007Use the krb5\sphinxhyphen{}config program at \sphinxstyleemphasis{PATH} to obtain the build\sphinxhyphen{}time 1008default credential cache, keytab, and client keytab names. The 1009default is to use \sphinxcode{\sphinxupquote{krb5\sphinxhyphen{}config}} from the program path. Specify 1010\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}krb5\sphinxhyphen{}config}} to disable the use of krb5\sphinxhyphen{}config and 1011use the usual built\sphinxhyphen{}in defaults. 1012 1013\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}keyutils}}] \leavevmode 1014\sphinxAtStartPar 1015Build without libkeyutils support. This disables the KEYRING 1016credential cache type. 1017 1018\end{description} 1019 1020 1021\subsection{Examples} 1022\label{\detokenize{build/options2configure:examples}} 1023\sphinxAtStartPar 1024For example, in order to configure Kerberos on a Solaris machine using 1025the suncc compiler with the optimizer turned on, run the configure 1026script with the following options: 1027 1028\begin{sphinxVerbatim}[commandchars=\\\{\}] 1029\PYG{o}{\PYGZpc{}} \PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{n}{CC}\PYG{o}{=}\PYG{n}{suncc} \PYG{n}{CFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{O} 1030\end{sphinxVerbatim} 1031 1032\sphinxAtStartPar 1033For a slightly more complicated example, consider a system where 1034several packages to be used by Kerberos are installed in 1035\sphinxcode{\sphinxupquote{/usr/foobar}}, including Berkeley DB 3.3, and an ss library that 1036needs to link against the curses library. The configuration of 1037Kerberos might be done thus: 1038 1039\begin{sphinxVerbatim}[commandchars=\\\{\}] 1040\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{n}{CPPFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{I}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{foobar}\PYG{o}{/}\PYG{n}{include} \PYG{n}{LDFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{L}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{foobar}\PYG{o}{/}\PYG{n}{lib} \PYGZbs{} 1041\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{et} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{ss} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{db} \PYGZbs{} 1042\PYG{n}{SS\PYGZus{}LIB}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZhy{}lss \PYGZhy{}lcurses}\PYG{l+s+s1}{\PYGZsq{}} \PYG{n}{DB\PYGZus{}HEADER}\PYG{o}{=}\PYG{n}{db3}\PYG{o}{/}\PYG{n}{db\PYGZus{}185}\PYG{o}{.}\PYG{n}{h} \PYG{n}{DB\PYGZus{}LIB}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{ldb}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{3.3} 1043\end{sphinxVerbatim} 1044 1045 1046\section{osconf.hin} 1047\label{\detokenize{build/osconf:osconf-hin}}\label{\detokenize{build/osconf::doc}} 1048\sphinxAtStartPar 1049There is one configuration file which you may wish to edit to control 1050various compile\sphinxhyphen{}time parameters in the Kerberos distribution: 1051 1052\begin{sphinxVerbatim}[commandchars=\\\{\}] 1053\PYG{n}{include}\PYG{o}{/}\PYG{n}{osconf}\PYG{o}{.}\PYG{n}{hin} 1054\end{sphinxVerbatim} 1055 1056\sphinxAtStartPar 1057The list that follows is by no means complete, just some of the more 1058interesting variables. 1059\begin{description} 1060\item[{\sphinxstylestrong{DEFAULT\_PROFILE\_PATH}}] \leavevmode 1061\sphinxAtStartPar 1062The pathname to the file which contains the profiles for the known 1063realms, their KDCs, etc. The default value is \sphinxcode{\sphinxupquote{/etc/krb5.conf}}. 1064 1065\item[{\sphinxstylestrong{DEFAULT\_KEYTAB\_NAME}}] \leavevmode 1066\sphinxAtStartPar 1067The type and pathname to the default server keytab file. The 1068default is \DUrole{xref,std,std-ref}{DEFKTNAME}. 1069 1070\item[{\sphinxstylestrong{DEFAULT\_KDC\_ENCTYPE}}] \leavevmode 1071\sphinxAtStartPar 1072The default encryption type for the KDC database master key. The 1073default value is \sphinxcode{\sphinxupquote{aes256\sphinxhyphen{}cts\sphinxhyphen{}hmac\sphinxhyphen{}sha1\sphinxhyphen{}96}}. 1074 1075\item[{\sphinxstylestrong{RCTMPDIR}}] \leavevmode 1076\sphinxAtStartPar 1077The directory which stores replay caches. The default is 1078\sphinxcode{\sphinxupquote{/var/tmp}}. 1079 1080\item[{\sphinxstylestrong{DEFAULT\_KDB\_FILE}}] \leavevmode 1081\sphinxAtStartPar 1082The location of the default database. The default value is 1083\DUrole{xref,std,std-ref}{LOCALSTATEDIR}\sphinxcode{\sphinxupquote{/krb5kdc}}\sphinxcode{\sphinxupquote{/principal}}. 1084 1085\end{description} 1086 1087 1088 1089\renewcommand{\indexname}{Index} 1090\printindex 1091\end{document}