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.
-**
-** You should also check for platform specific hints.
-** These are located in doc/install/hints.
-**
+This file provides brief instructions on how to build and install
+OpenLDAP on UNIX (and UNIX-like) systems. More detailed information
+and instructions can be found in The OpenLDAP Administrator's Guide
+(available from http://www.openldap.org/doc/).
-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"
-section near the end of this file.
+It is recommended that you read, or at least skim through, ALL of the
+instructions in this file before attempting to build the software.
-If you simply want to build LDAP for a single machine platform, follow
-these steps:
+It is also recommended you review the Frequently Asked Questions
+(http://www.openldap.org/faq/) pages, in particular the Installation
+section (http://www.openldap.org/faq/index.cgi?file=8) and Platform
+Hints (http://www.openldap.org/faq/index.cgi?file=9) should be
+examined.
- 1. untar the distribution and cd to the top:
-
- % tar xfz openldap-VERSION.tgz
- % cd ldap
-
- If you are reading this file, you probably have already done this!
-
- 2. Type:
- % ./configure --help
-
- to list available configuration options. A description of
- these options is provided in the 'CONFIGURE OPTIONS' section
- below.
-
- 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)
-
- See the 'USING ENVIRONMENT VARIABLES' section for information
- on how to use the variables.
-
- 3. edit the file include/ldapconfig.h.edit to configure
- the software for your site (the files are well-commented):
-
- % vi include/ldapconfig.h.edit
-
- 4. Configure the build system
-
- % [env settings] ./configure [options]
-
- If all goes well, the configure script with auto-detect the
- appropriate settings. Use configure enable/with options and/or
- environment variables to obtain desired results.
-
- 5. Build dependencies
-
- % make depend
-
- 6. 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.
-
- 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
-
- 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:
-
- 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
-
- There are section 5 man pages for all of these files.
-
-
-Building LDAP For More Than One Platform
-
-It is now possible to build LDAP for more than one platform from the same
-source tree. This is accomplished by using make(1) VPATH support. If
-your make(1) program is old and doesn't have VPATH support, install GNU
-Make.
-
-Follow these steps for each different platform:
-
- 1. Create a directory for the platform object files.
-
- % mkdir obj-platform
-
- 2. Change your working directory to the platform object directory.
+Making and Installing the OpenLDAP Distribution
+-----------------------------------------------
- % cd obj-platform
+1. Unpack the distribution and change directory:
- 3. Configure the build system
+ % tar xfz openldap-VERSION.tgz
+ % cd openldap-VERSION
- % [env settings] ../configure --src-dir=.. [options]
+ (replacing VERSION with the appropriate version string). If you
+ are reading this file, you probably have already done this!
- ( replace ".." with the appropriate path )
+2. Type:
- 4. Continue as above (starting at step 6).
+ % ./configure --help
- Note: make depend in VPATH environment is not yet supported.
+ to list available configuration options.
+ The configure script also looks for compiler/linker options on
+ the command line and in the environment. These include:
-CONFIGURE OPTIONS
+ Variable Description Example
+ CC C compiler gcc
+ CFLAGS C flags -O -g
+ CPPFLAGS cpp flags -I/path/include -D__FOO__=42
+ LDFLAGS ld flags -L/usr/local/lib
+ LIBS libraries -llib
+ PATH command path /usr/local/bin:/usr/bin:/bin
-Regrettably, this section has not been written (yet). See
-"./configure --help" for current list of options.
+ See doc/install/configure for generic configure documentation.
+3. Configure the build system:
-USING ENVIRONMENT VARIABLES
+ % ./configure [options] [var=value ...]
-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.
+ If all goes well, the configure script will automatically detect
+ the appropriate settings. If the configure script fails, you
+ should read the config.log file that it generated to see what it
+ was trying to do and exactly what failed. You may need to
+ specify additional options and/or variables besides those listed
+ above to obtain desired results, depending on your operating
+ system. The Platform Hints section of the FAQ provides help for
+ operating system related problems.
-Supported Environmental Variables
- CC C Compiler (cc, ecgs)
- CFLAGS C Flags (-ansi)
- CPPFLAGS CPP Flags (-I/path/include -Ddef)
- LDFLAGS LDFLAGS (-L/path/lib -llib)
- PATH command path /usr/local/bin:/usr/bin:/bin
+4. Build dependencies:
-* Including alternative compilers
- Use the CC environment variable to tell configure to
- use a specific compiler. For example, to use ecgs
- instead of the compiler configure choose, use:
+ % make depend
- [env] CC=ecgs ./configure
+5. Build the system:
- 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:
+ % make
- [env] CC="gcc -ansi -predantic" ./configure
+ If all goes well, the system will build as configured. If not,
+ return to step 3 after reviewing the configuration settings. You
+ may want to consult the Platform Hints subsection of the FAQ if
+ you have not done so already.
- (you can use CFLAGS to specify compiler flags)
+6. Test the standalone system:
-* 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:
+ This step requires the standalone LDAP server, slapd(8), with HDB
+ and/or BDB support.
- [env] CPPFLAGS="-I/usr/local/include" ./configure
+ % make test
- You can also use CPPFLAGS to specify preprocessor macros.
+ If all goes well, the system has been built as configured. If
+ not, return to step 2 after reviewing your configuration
+ settings. You may want to consult the Installation section of
+ the FAQ if you have not done so already.
- [env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
+7. Install the software. You may need to become the super-user
+ (e.g. root) to do this (depending on where you are installing
+ things):
-* 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:
+ % su root -c 'make install'
- [env] LDFLAGS="-L/usr/local/lib" ./configure
+8. That's it. Enjoy!
- You can also use CPPFLAGS to specify linker flags:
+See the OpenLDAP Administrator's Guide and the manual pages for the
+individual applications for configuration and use information. You may
+also want to edit the configuration files used by the various
+components. These configuration files are located in the OpenLDAP
+configuration directory (normally /usr/local/etc/openldap).
- [env] LDFLAGS="-Bstatic" ./configure
+ ldap.conf client defaults
+ slapd.conf Standalone LDAP daemon
+ schema/*.schema Schema Definitions
-* 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:
+---
+$OpenLDAP: pkg/openldap-guide/release/install.sdf,v 1.16 2002/02/18
+17:09:26 kurt Exp $
- [env] PATH="/usr/css/bin:$PATH" ./configure
-
+This work is part of OpenLDAP Software <http://www.openldap.org/>.
-HINTS
+Copyright 1998-2015 The OpenLDAP Foundation.
+All rights reserved.
-* Platform specific hints are available in doc/install/hints.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted only as authorized by the OpenLDAP
+Public License.
-* Use software under installed in /usr/local/{include,lib}
- [env] \
- CPPFLAGS="-I/usr/local/include" \
- LDFLAGS="-L/usr/local/lib" \
- ./configure
+A copy of this license is available in the file LICENSE in the
+top-level directory of the distribution or, alternatively, at
+<http://www.OpenLDAP.org/license.html>.
-End of OpenLDAP INSTALL file.
+OpenLDAP is a registered trademark of the OpenLDAP Foundation.