Making and Installing the OpenLDAP Distribution
+**
** It is recommended that you read or at least skim through ALL of the
** instructions in this file before attempting to build the software.
+**
+** A Quick Start Guide, which may be used in conjunction with this
+** document, is available at:
+** http://www.openldap.org/faq/index.cgi?file=172
+**
+** The OpenLDAP Installation FAQ is available at:
+** http://www.openldap.org/faq/index.cgi?file=8
+**
+** You should also check for platform specific hints located on
+** on our web site.
+** http://www.openldap.org/faq/index.cgi?file=9
+**
If you want to build binaries for more than one platform from a single
source tree, skip ahead to the "Building LDAP For More Than One Platform"
1. untar the distribution and cd to the top:
- % tar xfz ldap-stable.tgz
- % cd ldap
+ % tar xfz openldap-VERSION.tgz
+ % cd openldap-VERSION
- If you are reading this file, you probably have already done this!
+ replacing VERSION to match the version you downloaded. If you are
+ reading this file, you probably have already done this!
2. Type:
% ./configure --help
- to list available configuration options.
+ to list available configuration options. A description of
+ these options is provided in the 'CONFIGURE OPTIONS' section
+ below.
- The configure script will also use your environmental
- variables for determining compiler/linker options.
+ The configure script uses environmental variables for
+ determining compiler/linker options. See the HINTS
+ section for commonly used settings.
These environment variables are used:
CC C Compiler (cc, ecgs)
CFLAGS C Flags (-ansi)
CPPFLAGS CPP Flags (-I/path/include -Ddef)
- LDFLAGS LDFLAGS (-L/path/lib -llib)
+ LDFLAGS LDFLAGS (-L/path/lib)
+ LIBS LIBS (-llib)
- 3. edit the file include/ldapconfig.h.edit to configure
- the software for your site (the files are well-commented):
+ See the 'USING ENVIRONMENT VARIABLES' section for information
+ on how to use the variables.
- % vi include/ldapconfig.h.edit
-
- 4. Configure the build system
+ 3. Configure the build system
% [env settings] ./configure [options]
appropriate settings. Use configure enable/with options and/or
environment variables to obtain desired results.
- 5. Build dependencies
+ 4. Build dependencies
% make depend
- 6. Build the system
+ 5. Build the system
% make
If all goes well, the system will build as configured. If not,
- return to step 4 after reviewing the enable/with options settings.
-
+ return to step 4 after reviewing the configuration settings.
+
+ You may want to consult the doc/install/hints file for your
+ platform.
+
+ 6. Test the standalone system
+
+ This step requires the standalone LDAP server (slapd) with
+ LDBM support.
+
+ % cd tests
+ % make test
+
+ If all goes well, the system has been built as configured. If not,
+ return to step 4 after reviewing your configuration settings.
+
+ You may want to consult the doc/install/hints file for your
+ platform.
+
7. install the binaries and man pages. You may need to be superuser to
do this (depending on where you are installing things):
- % su
- # make install
+ % su root -c make install
+
+ That's it!
- That's it! See the man pages for the individual clients for information
- on configuring and using them. Eventually you will probably want to
- edit the configuration files used by the various clients (installed in
- the LDAP etc directory). The files are:
+ See the man pages for the individual applications for
+ information on configuring and using them. You may also want
+ to edit the configuration files used by the various clients.
+ These configuration files are located in the OpenLDAP
+ configuration directory (normally /usr/local/etc/openldap).
- ldapfilter.conf - search filter configuration
- ldapfriendly - mapping of X.500 names to human-friendly names
- ldapsearchprefs.conf - search object definitions
- ldaptemplates.conf - display template definitions
+ Client configuration files:
+ ldap.conf - client defaults
+ ldapfilter.conf - search filter configuration
+ ldapsearchprefs.conf - search object definitions
+ ldaptemplates.conf - display template definitions
+
+ Server configuration files:
+ ldapd.conf - LDAP - X.500 daemon
+ slapd.conf - Standalone LDAP daemon
There are section 5 man pages for all of these files.
( replace ".." with the appropriate path )
- 4. Continue as above (starting at step 5).
+ 4. Continue as above (starting at step 6).
+
+ Note: make depend in VPATH environment is not yet supported.
+
+
+CONFIGURE OPTIONS
+
+Regrettably, this section has not been written (yet). See
+"./configure --help" for current list of options. For general
+information about how to use "configure", please read:
+ doc/install/configure
+
+
+USING ENVIRONMENT VARIABLES
+
+The configure script will also use your environmental
+variables for determining compiler/linker options. This can
+be used to manual specify features and compilation options.
+
+NOTE: If you change environment setting, be sure to remove
+ any config.cache before running ./configure.
+
+Supported Environmental Variables
+ CC C compiler (cc, egcc)
+ CFLAGS C flags (-ansi)
+ CPPFLAGS cpp flags (-I/path/include -Ddef)
+ LDFLAGS ld flags (-L/usr/local/lib)
+ LIBS libraries (-llib)
+ PATH command path /usr/local/bin:/usr/bin:/bin
+
+* Including alternative compilers
+ Use the CC environment variable to tell configure to
+ use a specific compiler. For example, to use GNU
+ C Compiler instead of the compiler configure choose,
+ use:
+
+ [env] CC=gcc ./configure
+
+ You can also use CC use specific flags with the
+ specified compiler. For example, to require strict
+ ANSI C using the GNU C Compiler, use:
+
+ [env] CC="gcc -ansi -pedantic" ./configure
+
+ (you can use CFLAGS to specify compiler flags)
+
+* Preprocessor Flags
+ You may specify additional preprocessor flags by setting
+ CPPFLAGS. For example, if you would like to use headers
+ installed in /usr/local/include, use:
+
+ [env] CPPFLAGS="-I/usr/local/include" ./configure
+
+ You can also use CPPFLAGS to specify preprocessor macros.
+
+ [env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
+
+* Linker Flags
+ You may specify additional linker flags by setting LDFLAGS.
+ For example, if you would like to use libraries installed
+ in /usr/local/lib, use:
+
+ [env] LDFLAGS="-L/usr/local/lib" ./configure
+
+ You can also use CPPFLAGS to specify linker flags:
+
+ [env] LDFLAGS="-Bstatic" ./configure
+
+* Path
+ You may alter your path to affect configure ability to
+ find (or not find) commands. For example, to have configure
+ additionally look in /usr/css/bin for commands, use:
+
+ [env] PATH="/usr/css/bin:$PATH" ./configure
+
+
+HINTS
+
+* Platform specific hints are available in doc/install/hints.
+
+* Use software under installed in /usr/local/{include,lib}
+ [env] \
+ CPPFLAGS="-I/usr/local/include" \
+ LDFLAGS="-L/usr/local/lib" \
+ ./configure
+
End of OpenLDAP INSTALL file.