Skip to content
Snippets Groups Projects
INSTALL 6.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • Making and Installing the OpenLDAP Distribution
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    ** 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 Installation FAQ is available at:
    **    http://www.openldap.org/faq/index.cgi?file=8
    **
    
    ** You should also check for platform specific hints.
    
    ** These are located in doc/install/hints or:
    **    http://www.openldap.org/faq/index.cgi?file=9
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    If you simply want to build LDAP for a single machine platform, follow
    these steps:
    
     1. untar the distribution and cd to the top:
    
    
    	% cd ldap
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
        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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	The configure script uses environmental variables for
    	determining compiler/linker options.  See the HINTS
    	section for commonly used settings. 
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	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)
    		LIBS		LIBS		(-llib)
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	See the 'USING ENVIRONMENT VARIABLES' section for information
    	on how to use the variables. 
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
     3. Configure the build system
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	% [env settings] ./configure [options]
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	% make depend
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
        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
    
    	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
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
        do this (depending on where you are installing things):
    
    	% su
    	# make install
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	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
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    Follow these steps for each different platform:
    
    
     1.	Create a directory for the platform object files.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	% mkdir obj-platform
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
     2. Change your working directory to the platform object directory.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	% cd obj-platform
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
     3. Configure the build system
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    	% [env settings] ../configure --src-dir=.. [options]
    
    		( replace ".." with the appropriate path )
    
     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
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    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.
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    
    
    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 ecgs
    	instead of the compiler configure choose, use:
    
    
    	[env] CC=egcc ./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:
    
    
    Kurt Zeilenga's avatar
    Kurt Zeilenga committed
    	[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.