]> git.sur5r.net Git - openldap/blobdiff - INSTALL
Adjust HTML presentation for consistency with web site
[openldap] / INSTALL
diff --git a/INSTALL b/INSTALL
index 6753e3c6bfc47cd8794156211551532a1365ddc5..fe230e9d152a8d2a2766204db3fe166474d24790 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-Making and Installing the Net Boolean OpenLDAP Distribution
+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.
+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. If you are planning to run slapd,
-you should read the "SLAPD and SLURPD Administrator's Guide", found in
-the doc/guides/ directory at:
-       http://www.boolean.net/technology/ldap.html
+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:
+Making and Installing the OpenLDAP Distribution
+-----------------------------------------------
 
-       % tar xfz ldap-stable.tgz
-       % cd ldap
+1.   Unpack the distribution and change directory:
 
-    If you are reading this file, you probably have already done this!
+        % tar xfz openldap-VERSION.tgz
+        % cd openldap-VERSION
 
+     (replacing VERSION with the appropriate version string).  If you
+     are reading this file, you probably have already done this!
 
- 2. Type:
-       % make Make-common
+2.   Type:
 
-       to copy Make-common.dist to Make.common. 
+        % ./configure --help
 
3. edit the files Make-common and include/ldapconfig.h.edit to configure
-    the software for your site (the files are well-commented):
    to list available configuration options.   A description of these
+     options is provided in the 'CONFIGURE OPTIONS' section below.
 
-       % vi Make-common
-       % vi include/ldapconfig.h.edit
+     The configure script uses environmental variables for determining
+     compiler/linker options.  See the 'USING ENVIRONMENT VARIABLES'
+     section for commonly used settings.
 
-    Note that you should NOT need to edit the Makefile located at the
-    top of the distribution.
+     These environment variables are used:
 
-    If you just want to see if things will build, you can leave the
-    configuration alone and change it later.  You may want to consult
-       the appropriate platform makefile (build/*/Make-platform) for
-       platform-specific defaults.
+        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
 
-    If you have the ISODE package built and want to build the
-    LDAP-to-X.500 server (ldapd), be sure to uncomment the appropriate
-    lines near the end of the Make-common file.  By default only the
-    stand-alone server, LDAP libraries and client software are built.
+     See the 'USING ENVIRONMENT VARIABLES' section for information on
+     how to use the variables.
 
- 3. make the software:
+3.   Configure the build system
 
-       % make
+        % [env settings] ./configure [options]
 
-    If all goes well, then make will figure out what platform you are on,
-    pick a compiler to use, construct Makefiles, and build everything.
-    If you see a message like "unknown platform..." LDAP has probably not
-    been set up to build on your machine.  See the file build/PORTS for
-    hints on what to do in that case.
+     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.
 
-    Note that if your make does not use the Bourne (sh) shell by
-    default when executing internal scripts (reportedly the case on SGI
-    machines at least), you will need to run the make explicitly from
-    within a Bourne shell.  If you a syntax error such as "Missing ]"
-    when you do the make under your usual shell, try this:
+4.   Build dependencies
 
-       % sh
-       $ make
+        % make depend
 
-    If you don't like the some of the platform-specific options chosen
-    by the automatic build process (such as the compiler to use, etc),
-    you can intervene and edit them before anything is actually compiled
-    by explicitly doing a "make platform" step, editing the .make-platform
-    file (actually a link to the file to be edited), and then doing a
-    regular make:
+5.   Build the system
 
-       % make platform
-       % vi .make-platform
-       % make
+        % make
 
-    If you want to choose the build platform yourself from among those that
-    the distribution supports, cd to the appropriate directory underneath
-    build/platforms and make from there.  For example, if you are on a
-    machine running SunOS 4.1.4 and you want to force the use of the cc
-    compiler, you would do this:
+     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.
 
-       % cd build/platforms/sunos4-cc
-       % make
+6.   Test the standalone system
 
-    If you want to run some simple tests after the build is complete, you
-    can do this:
+     This step requires the standalone LDAP server, slapd(8), with
+     LDBM support.
 
-       % make test
+        % make test
 
- 4. install the binaries and man pages.  You may need to be superuser to
-    do this (depending on where you are installing things):
+     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.
 
-       % su
-       # make install
+7.   install the binaries and man pages.  You may need to be superuser
+     to do this (depending on where you are installing things):
 
-    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:
+        % su root -c 'make install'
 
-       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
+8.   That's it!
 
-    There are section 5 man pages for all of these files.
+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).
 
+        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
 
-Building LDAP For More Than One Platform
+There are section 5 man pages for these configuration files.
 
-It is now possible to build LDAP for more than one platform from the same
-source tree.  This is accomplished by some rules in the Makefiles that
-create a shadow (linked) directory tree where the binaries are placed.
+Building OpenLDAP For More Than One Platform
+--------------------------------------------
+
+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. move to the directory that matches the platform and compiler you
-    want to build for and type make.  The directories are all located
-    underneath the build/platforms directory.  If your platform is not
-    there, you may need to do a port - see the build/PORTS file for
-    more information.  For a Sun running SunOS 4.1.4, you might do
-    this:
+1.   Create a directory for the platform object files.
+
+        % mkdir obj-platform
+
+2.   Change your working directory to the platform object directory.
+
+        % cd obj-platform
+
+3.   Configure the build system
+
+        % [env settings] ../configure --src-dir=.. [options]
+
+     ( 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.
+
+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.
+
+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:
 
-       % cd build/platforms/sunos4-cc
-       % make links
+        % [env] CC=gcc ./configure
 
-    This will create a linked source area.
+     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
 
- 2. move to the new directory and make as for a single platform.  Follow steps
-    1-4 above to accomplish this.  For example:
+     (you can use CFLAGS to specify compiler flags)
 
-       % cd obj-sunos4-cc
-       % make
+o    Preprocessor Flags
 
-    That's all there is to it.  You can also create the linked source area(s)
-    by just typing "make links" at the top of the distribution, in which case
-    the Makefile will try to automatically determine the platform and
-    compiler.
+     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
+
+o    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
+
+o    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
+
+o    Using locally installed software
+
+     To use software under installed under /usr/local.
+
+        [env] \
+                CPPFLAGS="-I/usr/local/include" \
+                LDFLAGS="-L/usr/local/lib" \
+                ./configure
+
+Note: You may have add additional flags if your system supports shared
+libraries.
 
 End of OpenLDAP INSTALL file.
+
+$OpenLDAP: pkg/openldap-guide/release/install.sdf,v 1.8 2000/08/22
+22:50:50 kurt Exp $
+