2 Please read the Basic Installation section somewhere below.
4 Configure options for GNUPG
5 ===========================
7 --enable-static-rnd=<name> Force the use of the random byte gathering
8 module <name>. Default is either to use /dev/random
9 or the standard Uix module. Value for name:
10 egd - Use the module which accesses the
11 Entropy Gathering Daemon. See the webpages
12 for more information about it.
13 unix - Use the standard Unix module which does not
14 have a very good performance.
15 linux - Use the module which accesses /dev/random.
16 This is the first choice and the default one
17 for GNU/Linux or *BSD.
18 none - Do not linkl any module in but rely on
19 a dynmically loaded modules.
21 --with-included-zlib Forces usage of the local zlib sources. Default is
22 to use the (shared) library of the system.
24 --with-included-gettext Forces usage of the local gettext sources instead of
25 the one provided by your system.
27 --disable-nls Disable NLS support (See the file ABOUT-NLS)
29 --enable-m-guard Enable the integrated malloc checking code.
31 --disable-dynload If you have problems with dynamic loading, this option
32 disables all dynamic loading stuff.
34 --disable-asm Do not use assembler modules. It is not possible to
35 use this on some CPU types.
42 If you get unresolved externals "gettext" you should run configure again
43 with the option "--with-included-gettext"; this is version 0.10.35 which
44 is available at alpha.gnu.org.
46 If you have other compile problems, try the configure options
47 "--with-included-zlib" or "--disable-nls" (See ABOUT-NLS)
50 I can't check all assembler files, so if you have problems assembling them
51 (or the program crashes) use --disable-asm with ./configure.
52 The configure scripts may consider several subdirectories to get all
53 available assembler files; be sure to delete the correct ones. The
54 assembler replacements are in C and in mpi/generic; never delete udiv-qrnnd.S
55 in any CPU directory, because there may be no C substitute.
56 Don't forget to delete "config.cache" and run "./config.status --recheck".
58 Some make tools are broken - the best solution is to use GNU's make. Try
59 gmake or grab the sources from a GNU archive and install them.
61 On some OSF you may get unresolved externals. This is a libtool problem and
62 the workaround is to manually remove all the "-lc -lz" but the last one from
63 the linker line and execute them manually.
65 On some architectures you get warnings like:
66 longlong.h:175: warning: function declaration isn't a prototype
68 http.c:647: warning: cast increases required alignment of target type
69 This doesn't matter and we know about it (actually it is due to the some
70 warning options which we have enabled for gcc)
75 Random devices are available in Linux, FreeBSD and OpenBSD.
76 The random device files may not exist on your system, please check whether
77 they do and create them if needed.
79 The Linux files should look like this:
80 cr--r--r-- 1 root sys 1, 8 May 28 1997 /dev/random
81 cr--r--r-- 1 root sys 1, 9 Feb 16 08:23 /dev/urandom
82 You can create them with:
83 mknod /dev/random c 1 8
84 mknod /dev/urandom c 1 9
86 The FreeBSD files [from the 970202 snapshot]:
87 crw-r--r-- 1 root wheel 2, 3 Feb 25 16:54 /dev/random
88 crw-r--r-- 1 root wheel 2, 4 Feb 25 16:54 /dev/urandom
89 You can create them with:
90 mknod /dev/random c 2 3
91 mknod /dev/urandom c 2 4
93 Unices without a random devices must use another entropy collector. One
94 entropy collector called rndunix and available as an extension module. You
95 should put this in your ~/.gnupg/options file:
96 ===8<====================
97 load-extension rndunix
98 ===>8====================
99 This collector works by running a lot of commands that yield more or
100 less unpredictable output and feds this as entropy into the random
101 generator - It should work reliably but you should check whether
102 it produces good output for your version of Unix. There are some debug
103 options to help you (see cipher/rndunix.c).
109 gpg is not installed as suid:root; if you want to do that, do it manually.
110 We will use capabilities in the future.
112 The ~/.gnupg directory will be created if it does not exist. Your first
113 action should be to create a key pair: "gpg --gen-key".
117 Creating a RPM package
118 ======================
119 The file scripts/gnupg.spec is used to build a RPM package (both
121 1. copy the spec file into /usr/src/redhat/SPECS
122 2. copy the tar file into /usr/src/redhat/SOURCES
123 3. type: rpm -ba SPECS/gnupg.spec
125 Or use the -t (--tarbuild) option of rpm:
126 1. rpm -ta gnupg-x.x.x.tar.gz
128 The binary rpm file can now be found in /usr/src/redhat/RPMS, source
129 rpm in /usr/src/redhat/SRPMS
131 Please note that to install gnupg binary rpm you must be root, as
132 gnupg needs to be suid root, at least on Linux machines
138 These are generic installation instructions.
140 The `configure' shell script attempts to guess correct values for
141 various system-dependent variables used during compilation. It uses
142 those values to create a `Makefile' in each directory of the package.
143 It may also create one or more `.h' files containing system-dependent
144 definitions. Finally, it creates a shell script `config.status' that
145 you can run in the future to recreate the current configuration, a file
146 `config.cache' that saves the results of its tests to speed up
147 reconfiguring, and a file `config.log' containing compiler output
148 (useful mainly for debugging `configure').
150 If you need to do unusual things to compile the package, please try
151 to figure out how `configure' could check whether to do them, and mail
152 diffs or instructions to the address given in the `README' so they can
153 be considered for the next release. If at some point `config.cache'
154 contains results you don't want to keep, you may remove or edit it.
156 The file `configure.in' is used by the program `autoconf' to create
157 `configure'. You only need `configure.in' if you want to change it or
158 regenerate `configure' using a newer version of `autoconf'.
160 The simplest way to compile this package is:
162 1. `cd' to the directory containing the package's source code and type
163 `./configure' to configure the package for your system. If you're
164 using `csh' on an old version of System V, you might need to type
165 `sh ./configure' instead to prevent `csh' from trying to execute
168 Running `configure' takes a while. While running, it prints some
169 messages telling which features it is checking for.
171 2. Type `make' to compile the package.
173 3. Optionally, type `make check' to run any self-tests that come with
176 4. Type `make install' to install the programs and any data files and
179 5. You can remove the program binaries and object files from the
180 source code directory by typing `make clean'. To also remove the
181 files that `configure' created (so you can compile the package for
182 a different kind of computer), type `make distclean'. There is
183 also a `make maintainer-clean' target, but that is intended mainly
184 for the package's developers. If you use it, you may have to get
185 all sorts of other programs in order to regenerate files that came
186 with the distribution.
188 Compilers and Options
189 =====================
191 Some systems require unusual options for compilation or linking that
192 the `configure' script does not know about. You can give `configure'
193 initial values for variables by setting them in the environment. Using
194 a Bourne-compatible shell, you can do that on the command line like
196 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
198 Or, on systems that have the `env' program, you can do it like this:
199 env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
201 Compiling For Multiple Architectures
202 ====================================
204 You can compile the package for more than one kind of computer at the same
205 time by placing the object files for each architecture in their own
206 directory. To do this, you must use a version of `make', such as GNU `make',
207 that supports the `VPATH' variable. `cd' to the directory where you want the
208 object files and executables to go and run the `configure' script.
209 `configure' automatically checks for the source code in the directory that
210 `configure' is in and in `..'.
212 If you have to use a `make' that does not supports the `VPATH'
213 variable, you have to compile the package for one architecture at a time
214 in the source code directory. After you have installed the package for
215 one architecture, use `make distclean' before reconfiguring for another
221 By default, `make install' will install the package's files in
222 `/usr/local/bin', `/usr/local/man', etc. You can specify an
223 installation prefix other than `/usr/local' by giving `configure' the
224 option `--prefix=PATH'.
226 You can specify separate installation prefixes for
227 architecture-specific files and architecture-independent files. If you
228 give `configure' the option `--exec-prefix=PATH', the package will use
229 PATH as the prefix for installing programs and libraries.
230 Documentation and other data files will still use the regular prefix.
232 In addition, if you use an unusual directory layout you can give
233 options like `--bindir=PATH' to specify different values for particular
234 kinds of files. Run `configure --help' for a list of the directories
235 you can set and what kinds of files go in them.
237 If the package supports it, you can cause programs to be installed
238 with an extra prefix or suffix on their names by giving `configure' the
239 option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
244 Some packages pay attention to `--enable-FEATURE' options to
245 `configure', where FEATURE indicates an optional part of the package.
246 They may also pay attention to `--with-PACKAGE' options, where PACKAGE
247 is something like `gnu-as' or `x' (for the X Window System). The
248 `README' should mention any `--enable-' and `--with-' options that the
251 For packages that use the X Window System, `configure' can usually
252 find the X include and library files automatically, but if it doesn't,
253 you can use the `configure' options `--x-includes=DIR' and
254 `--x-libraries=DIR' to specify their locations.
256 Specifying the System Type
257 ==========================
259 There may be some features `configure' can not figure out
260 automatically, but needs to determine by the type of host the package
261 will run on. Usually `configure' can figure that out, but if it prints
262 a message saying it can not guess the host type, give it the
263 `--host=TYPE' option. TYPE can either be a short name for the system
264 type, such as `sun4', or a canonical name with three fields:
267 See the file `config.sub' for the possible values of each field. If
268 `config.sub' isn't included in this package, then this package doesn't
269 need to know the host type.
271 If you are building compiler tools for cross-compiling, you can also
272 use the `--target=TYPE' option to select the type of system they will
273 produce code for and the `--build=TYPE' option to select the type of
274 system on which you are compiling the package.
279 If you want to set default values for `configure' scripts to share,
280 you can create a site shell script called `config.site' that gives
281 default values for variables like `CC', `cache_file', and `prefix'.
282 `configure' looks for `PREFIX/share/config.site' if it exists, then
283 `PREFIX/etc/config.site' if it exists. Or, you can set the
284 `CONFIG_SITE' environment variable to the location of the site script.
285 A warning: not all `configure' scripts look for a site script.
290 `configure' recognizes the following options to control how it
294 Use and save the results of the tests in FILE instead of
295 `./config.cache'. Set FILE to `/dev/null' to disable caching, for
296 debugging `configure'.
299 Print a summary of the options to `configure', and exit.
304 Do not print messages saying which checks are being made. To
305 suppress all normal output, redirect it to `/dev/null' (any error
306 messages will still be shown).
309 Look for the package's source code in directory DIR. Usually
310 `configure' can determine that directory automatically.
313 Print the version of Autoconf used to generate the `configure'
316 `configure' also accepts some other, not widely useful, options.