mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-09 02:52:04 +08:00
228 lines
6.4 KiB
Plaintext
228 lines
6.4 KiB
Plaintext
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 draft of the "OpenLDAP Administrator's Guide", which includes a
|
|
** quick start guide, is available at:
|
|
** http://www.openldap.org/devel/admin/
|
|
**
|
|
** 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"
|
|
section near the end of this file.
|
|
|
|
If you simply want to build LDAP for a single machine platform, follow
|
|
these steps:
|
|
|
|
1. untar the distribution and cd to the top:
|
|
|
|
% tar xfz openldap-VERSION.tgz
|
|
% cd openldap-VERSION
|
|
|
|
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. 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 (-O -g)
|
|
CPPFLAGS CPP Flags (-I/path/include -Ddef)
|
|
LDFLAGS LDFLAGS (-L/path/lib)
|
|
LIBS LIBS (-llib)
|
|
|
|
See the 'USING ENVIRONMENT VARIABLES' section for information
|
|
on how to use the variables.
|
|
|
|
3. 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.
|
|
|
|
4. Build dependencies
|
|
|
|
% make depend
|
|
|
|
5. Build the system
|
|
|
|
% make
|
|
|
|
If all goes well, the system will build as configured. If not,
|
|
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 root -c 'make install'
|
|
|
|
That's it!
|
|
|
|
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).
|
|
|
|
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:
|
|
slapd.conf - Standalone LDAP daemon configuration
|
|
schema/*.schema - Schema Definitions
|
|
|
|
There are section 5 man pages for these configuration 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.
|
|
|
|
% 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 environmental variables for
|
|
determining compiler/linker options. This can be used to manually
|
|
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, 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
|
|
|
|
* 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
|
|
|
|
|
|
---
|
|
$OpenLDAP$
|