INSTALL 5.8 KB
Newer Older
1
Making and Installing the OpenLDAP Distribution
Kurt Zeilenga's avatar
Kurt Zeilenga committed
2

3
**
Kurt Zeilenga's avatar
Kurt Zeilenga committed
4
5
** It is recommended that you read or at least skim through ALL of the
** instructions in this file before attempting to build the software.
6
7
8
9
**
** You should also check for platform specific hints.
** These are located in doc/install/hints.
**
Kurt Zeilenga's avatar
Kurt Zeilenga committed
10
11
12

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"
13
section near the end of this file.
Kurt Zeilenga's avatar
Kurt Zeilenga committed
14
15
16
17
18
19

If you simply want to build LDAP for a single machine platform, follow
these steps:

 1. untar the distribution and cd to the top:

20
	% tar xfz openldap-VERSION.tgz
21
	% cd ldap
Kurt Zeilenga's avatar
Kurt Zeilenga committed
22
23
24

    If you are reading this file, you probably have already done this!

Kurt Zeilenga's avatar
Kurt Zeilenga committed
25
26
 2. Type:
	% ./configure --help
27

Kurt Zeilenga's avatar
Kurt Zeilenga committed
28
29
30
	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
31

32
33
34
	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
35

Kurt Zeilenga's avatar
Kurt Zeilenga committed
36
37
38
39
40
	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)
Kurt Zeilenga's avatar
Kurt Zeilenga committed
41

42
43
	See the 'USING ENVIRONMENT VARIABLES' section for information
	on how to use the variables. 
Kurt Zeilenga's avatar
Kurt Zeilenga committed
44

Kurt Zeilenga's avatar
Kurt Zeilenga committed
45
46
 3. edit the file include/ldapconfig.h.edit to configure
    the software for your site (the files are well-commented):
Kurt Zeilenga's avatar
Kurt Zeilenga committed
47

Kurt Zeilenga's avatar
Kurt Zeilenga committed
48
	% vi include/ldapconfig.h.edit
Kurt Zeilenga's avatar
Kurt Zeilenga committed
49

Kurt Zeilenga's avatar
Kurt Zeilenga committed
50
 4. Configure the build system
Kurt Zeilenga's avatar
Kurt Zeilenga committed
51

Kurt Zeilenga's avatar
Kurt Zeilenga committed
52
	% [env settings] ./configure [options]
Kurt Zeilenga's avatar
Kurt Zeilenga committed
53

Kurt Zeilenga's avatar
Kurt Zeilenga committed
54
55
56
	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
57

Kurt Zeilenga's avatar
Kurt Zeilenga committed
58
 5. Build dependencies
Kurt Zeilenga's avatar
Kurt Zeilenga committed
59

Kurt Zeilenga's avatar
Kurt Zeilenga committed
60
	% make depend
Kurt Zeilenga's avatar
Kurt Zeilenga committed
61

Kurt Zeilenga's avatar
Kurt Zeilenga committed
62
63
64
 6. Build the system

	% make
Kurt Zeilenga's avatar
Kurt Zeilenga committed
65

Kurt Zeilenga's avatar
Kurt Zeilenga committed
66
    If all goes well, the system will build as configured.  If not,
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
	return to step 4 after reviewing the configuration settings.

	You may want to consult the doc/install/hints file for your
	platform.

 7. 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.

 8. install the binaries and man pages.  You may need to be superuser to
Kurt Zeilenga's avatar
Kurt Zeilenga committed
87
88
89
90
91
    do this (depending on where you are installing things):

	% su
	# make install

92
    That's it!
Kurt Zeilenga's avatar
Kurt Zeilenga committed
93

94
95
96
97
98
99
100
	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).

	ldap.conf            - LDAP defaults
Kurt Zeilenga's avatar
Kurt Zeilenga committed
101
102
103
104
105
106
107
108
109
110
	ldapfilter.conf      - search filter configuration
	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
Kurt Zeilenga's avatar
Kurt Zeilenga committed
111
112
113
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
114
115
116

Follow these steps for each different platform:

Kurt Zeilenga's avatar
Kurt Zeilenga committed
117
 1.	Create a directory for the platform object files.
Kurt Zeilenga's avatar
Kurt Zeilenga committed
118

Kurt Zeilenga's avatar
Kurt Zeilenga committed
119
	% mkdir obj-platform
Kurt Zeilenga's avatar
Kurt Zeilenga committed
120

Kurt Zeilenga's avatar
Kurt Zeilenga committed
121
 2. Change your working directory to the platform object directory.
Kurt Zeilenga's avatar
Kurt Zeilenga committed
122

Kurt Zeilenga's avatar
Kurt Zeilenga committed
123
	% cd obj-platform
Kurt Zeilenga's avatar
Kurt Zeilenga committed
124

Kurt Zeilenga's avatar
Kurt Zeilenga committed
125
 3. Configure the build system
Kurt Zeilenga's avatar
Kurt Zeilenga committed
126

Kurt Zeilenga's avatar
Kurt Zeilenga committed
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
	% [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.


142
USING ENVIRONMENT VARIABLES
Kurt Zeilenga's avatar
Kurt Zeilenga committed
143

Kurt Zeilenga's avatar
Kurt Zeilenga committed
144
145
146
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
147

Kurt Zeilenga's avatar
Kurt Zeilenga committed
148
Supported Environmental Variables
149
150
151
152
153
	CC			C compiler		(cc, egcc)
	CFLAGS		C flags			(-ansi)
	CPPFLAGS	cpp flags		(-I/path/include -Ddef)
	LDFLAGS		ld flags		(-s)
	LIBS		libraries		(-L/usr/local/lib -llib)
154
155
156
157
158
159
160
	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:

161
	[env] CC=egcc ./configure 
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202

	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 -predantic" ./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

203
204
205
* Platform specific hints are available in doc/install/hints.

* Use software under installed in /usr/local/{include,lib}
206
207
208
209
210
	[env] \
		CPPFLAGS="-I/usr/local/include" \
		LDFLAGS="-L/usr/local/lib" \
		./configure

211

212
End of OpenLDAP INSTALL file.