This describes how to compiling the adcli package from source code. This is normally only necessary for those wishing to contribute to the project or package adcli.
You can download tarballs of the releases of adcli or check out the source code from git. This documentation will not go into all the details of how to get your development environment set up and instead focus on the what's unique to compiling adcli.
Besides the default autotools, binutils and GCC, adcli requires the following development dependencies to build:
OpenLDAP client libraries
MIT Kerberos libraries
On Debian or Ubuntu you can use the following command to install the dependencies:
$ sudo apt-get install build-essential autoconf automake xmlto xsltproc \ libkrb5-dev libldap2-dev libsasl2-dev
On Fedora you can use the following command to install the dependencies:
$ sudo yum groupinstall "Development Tools" $ sudo yum install automake autoconf xmlto xsltproc krb5-devel openldap-devel \ cyrus-sasl-devel
adcli uses the standard GNU build system, using autoconf for package configuration and resolving portability issues, automake for building makefiles that comply with the GNU Coding Standards, and libtool for building shared libraries on multiple platforms. The normal sequence for compiling and installing adcli is thus:
$ ./configure --prefix=/usr --sysconfdir=/etc... $ make $ make install
If you've checked out the source code from git, then the configure script does not yet exist. So use the following instead:
$ ./autogen.sh --prefix=/usr --sysconfdir=/etc ... $ make $ make install
The standard options provided by GNU autoconf may be passed to the configure
script. Please see the autoconf documentation or run
for information about the standard options. In particular you probably want to adjust
--prefix=/xxx argument depending on your system and development
Make sure that the
--sysconfdir=/etc matches the directory
where the the MIT kerberos library stores its
krb5.conf. This is
In addition to the normal options, the configure script in the adcli supports these additional arguments:
By default adcli is built with debug symbols assertions and and precondition checks. Enabling the debug option configures even more detailed debug build, including disabling optimization. Disabling the debug option is not recommended, as it disables all assertions, preconditions and internal consistency checks, although it may result it a slightly faster library.
Disables building of the documentation and command line manual.
The documentation is built in the
Enables strict checks during building of adcli. All compiler warnings become errors.