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.
-**
-** The OpenLDAP Quick Start Guide 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
-**
+This file provides brief instructions on how to build and install
+OpenLDAP on UNIX (and UNIX-like) system. For other systems, please
+consult The OpenLDAP Administrator's Guide
+http://www.openldap.org/doc/admin/.
-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 your review The OpenLDAP Administrator's Guide
+(http://www.openldap.org/devel/admin/) and 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 openldap-VERSION
+Making and Installing the OpenLDAP Distribution
+-----------------------------------------------
- replacing VERSION to match the version you downloaded. If you are
- reading this file, you probably have already done this!
+1. Unpack the distribution and change directory:
- 2. Type:
- % ./configure --help
+ % tar xfz openldap-VERSION.tgz
+ % cd openldap-VERSION
- to list available configuration options. A description of
- these options is provided in the 'CONFIGURE OPTIONS' section
- below.
+ (replacing VERSION with the appropriate version string). If you
+ are reading this file, you probably have already done this!
- The configure script uses environmental variables for
- determining compiler/linker options. See the HINTS
- section for commonly used settings.
+2. Type:
- These environment variables are used:
- CC C Compiler (cc, ecgs)
- CFLAGS C Flags (-O -g)
- CPPFLAGS CPP Flags (-I/path/include -Ddef)
- LDFLAGS LDFLAGS (-L/path/lib)
- LIBS LIBS (-llib)
+ % ./configure --help
- See the 'USING ENVIRONMENT VARIABLES' section for information
- on how to use the variables.
+ to list available configuration options. A description of these
+ options is provided in the 'CONFIGURE OPTIONS' section below.
- 3. Configure the build system
+ The configure script uses environmental variables for determining
+ compiler/linker options. See the 'USING ENVIRONMENT VARIABLES'
+ section for commonly used settings.
- % [env settings] ./configure [options]
+ These environment variables are used:
- 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.
+ CC C compiler gcc
+ CFLAGS C flags -O -g
+ 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
- 4. Build dependencies
+ See the 'USING ENVIRONMENT VARIABLES' section for information on
+ how to use the variables.
- % make depend
+3. Configure the build system
- 5. Build the system
+ % [env settings] ./configure [options]
- % make
+ If all goes well, the configure script with automatically detect
+ the appropriate settings. However, you may need to specify
+ options and/or environment variables to obtain desired results.
- If all goes well, the system will build as configured. If not,
- return to step 4 after reviewing the configuration settings.
+4. Build dependencies
- You may want to consult the doc/install/hints file for your
- platform.
+ % make depend
- 6. Test the standalone system
+5. Build the system
- This step requires the standalone LDAP server (slapd) with
- LDBM support.
+ % make
- % cd tests
- % make test
+ 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.
- If all goes well, the system has been built as configured. If not,
- return to step 4 after reviewing your configuration settings.
+6. Test the standalone system
- You may want to consult the doc/install/hints file for your
- platform.
+ This step requires the standalone LDAP server, slapd(8), with
+ LDBM support.
- 7. install the binaries and man pages. You may need to be superuser to
- do this (depending on where you are installing things):
+ % make test
- % su root -c 'make install'
+ 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 Installation section of
+ the FAQ if you have not done so already.
- That's it!
+7. install the binaries and man pages. You may need to be superuser
+ to do this (depending on where you are installing things):
- 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).
+ % su root -c 'make install'
- Client configuration files:
- ldap.conf - client defaults
- ldapfilter.conf - search filter configuration
- ldapsearchprefs.conf - search object definitions
- ldaptemplates.conf - display template definitions
+8. That's it!
- Server configuration files:
- slapd.conf - Standalone LDAP daemon configuration
- schema/*.schema - Schema Definitions
+See the 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).
- There are section 5 man pages for these configuration files.
+ ldap.conf client defaults
+ ldapfilter.conf search filter configuration
+ ldapsearchprefs.conf search object definitions
+ ldaptemplates.conf display template definitions
+ slapd.conf Standalone LDAP daemon
+ schema/*.schema Schema Definitions
+There are section 5 man pages for these configuration files.
-Building LDAP For More Than One Platform
+Building OpenLDAP 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.
+You can build OpenLDAP 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 BSD
+Make or GNU Make.
Follow these steps for each different platform:
- 1. Create a directory for the platform object files.
-
- % mkdir obj-platform
+1. Create a directory for the platform object files.
- 2. Change your working directory to the platform object directory.
+ % mkdir obj-platform
- % cd obj-platform
+2. Change your working directory to the platform object directory.
- 3. Configure the build system
+ % cd obj-platform
- % [env settings] ../configure --src-dir=.. [options]
+3. Configure the build system
- ( replace ".." with the appropriate path )
+ % [env settings] ../configure --src-dir=.. [options]
- 4. Continue as above (starting at step 6).
+ ( replace ".." with the appropriate path )
+4. Continue as above (starting at step 6).
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
-
+information about how to use "configure", please read
+doc/install/configure.
USING ENVIRONMENT VARIABLES
+---------------------------
-The configure script will also use environmental variables for
-determining compiler/linker options. This can be used to manually
+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.
-WARNING: Executables built in your environment may not run
- in your users' environments. The portability of
- executables between environments is your responsibility.
+Warning: Executables built in your environment may not run in your
+users' environments. The portability of executables between
+environments is your responsibility.
+
+Supported Environmental Variables:
+
+ CC C compiler cc
+ CFLAGS C flags -O -g
+ 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
+
+o 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 default compiler, 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
-Supported Environmental Variables
- CC C compiler (cc, egcc)
- CFLAGS C flags (-O -g)
- 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
+ (you can use CFLAGS to specify compiler flags)
-* 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:
+o Preprocessor Flags
- [env] CC=gcc ./configure
+ You may specify additional preprocessor flags by setting
+ CPPFLAGS. For example, if you would like to use headers
+ installed in /usr/local/include, use:
- 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] CPPFLAGS="-I/usr/local/include" ./configure
- [env] CC="gcc -ansi -pedantic" ./configure
+ You can also use CPPFLAGS to specify preprocessor macros.
- (you can use CFLAGS to specify compiler flags)
+ % [env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
-* 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:
+o Linker Flags
- [env] CPPFLAGS="-I/usr/local/include" ./configure
+ You may specify additional linker flags by setting LDFLAGS. For
+ example, if you would like to use libraries installed in
+ /usr/local/lib, use:
- You can also use CPPFLAGS to specify preprocessor macros.
+ % [env] LDFLAGS="-L/usr/local/lib" ./configure
- [env] CPPFLAGS="-D__SPECIAL_FLAG__" ./configure
+ You can also use CPPFLAGS to specify linker flags:
-* 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="-Bstatic" ./configure
- [env] LDFLAGS="-L/usr/local/lib" ./configure
+o Path
- You can also use CPPFLAGS to specify linker flags:
+ 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] LDFLAGS="-Bstatic" ./configure
+ % [env] PATH="/usr/css/bin:$PATH" ./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:
+o Using locally installed software
- [env] PATH="/usr/css/bin:$PATH" ./configure
-
+ To use software under installed under /usr/local.
-HINTS
+ [env] \
+ CPPFLAGS="-I/usr/local/include" \
+ LDFLAGS="-L/usr/local/lib" \
+ ./configure
-* Platform specific hints are available in doc/install/hints.
+Note: You may have add additional flags if your system supports shared
+libraries.
-* 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.
+$OpenLDAP: pkg/openldap-guide/release/install.sdf,v 1.8 2000/08/22
+22:50:50 kurt Exp $
----
-$OpenLDAP$