comparison INSTALL @ 285:1b9e69c058d2

propagate from branch 'au.asn.ucc.matt.ltc.dropbear' (head 20dccfc09627970a312d77fb41dc2970b62689c3) to branch 'au.asn.ucc.matt.dropbear' (head fdf4a7a3b97ae5046139915de7e40399cceb2c01)
author Matt Johnston <matt@ucc.asn.au>
date Wed, 08 Mar 2006 13:23:58 +0000
parents b24730e11c83
children 2d943453cecf
comparison
equal deleted inserted replaced
281:997e6f7dc01e 285:1b9e69c058d2
1 Basic Dropbear build instructions:
2
3 - Edit options.h to set which features you want.
4 - Edit debug.h if you want any debug options (not usually required).
5
6 (If using a non-tarball copy, "autoconf; autoheader")
7
8 ./configure (optionally with --disable-zlib or --disable-syslog,
9 or --help for other options)
10
11 Now compile:
12
13 make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
14
15 And install (/usr/local/bin is usual default):
16
17 make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install
18
19 (you can leave items out of the PROGRAMS list to avoid compiling them. If you
20 recompile after changing the PROGRAMS list, you *MUST* "make clean" before
21 recompiling - bad things will happen otherwise)
22
23 See MULTI for instructions on making all-in-one binaries.
24
25 If you want to compile statically, add "STATIC=1" to the make command-line.
26
27 Binaries can be strippd with "make strip"
28
29 ============================================================================
30
31 If you're compiling for a 386-class CPU, you will probably need to add
32 CFLAGS=-DLTC_NO_BSWAP so that libtomcrypt doesn't use 486+ instructions.
33
34 ============================================================================
35
36 Compiling with uClibc:
37
38 Firstly, make sure you have at least uclibc 0.9.17, as getusershell() in prior
39 versions is broken. Also note that you may get strange issues if your uClibc
40 headers don't match the library you are running with, ie the headers might
41 say that shadow password support exists, but the libraries don't have it.
42
43 Compiling for uClibc should be the same as normal, just set CC to the magic
44 uClibc toolchain compiler (ie export CC=i386-uclibc-gcc or whatever).
45 You can use "make STATIC=1" to make statically linked binaries, and it is
46 advisable to strip the binaries too. If you're looking to make a small binary,
47 you should remove unneeded ciphers and MD5, by editing options.h
48
49 It is possible to compile zlib in, by copying zlib.h and zconf.h into a
50 subdirectory (ie zlibincludes), and
51
52 export CFLAGS="-Izlibincludes -I../zlibincludes"
53 export LDFLAGS=/usr/lib/libz.a
54
55 before ./configure and make.
56
57 If you disable zlib, you must explicitly disable compression for the client -
58 OpenSSH is possibly buggy in this regard, it seems you need to disable it
59 globally in ~/.ssh/config, not just in the host entry in that file.
60
61 You may want to manually disable lastlog recording when using uClibc, configure
62 with --disable-lastlog.
63
64 One common problem is pty allocation. There are a number of types of pty
65 allocation which can be used -- if they work properly, the end result is the
66 same for each type. Running configure should detect the best type to use
67 automatically, however for some systems, this may be incorrect. Some
68 things to note:
69
70 If your system expects /dev/pts to be mounted (this is a uClibc option),
71 make sure that it is.
72
73 Make sure that your libc headers match the library version you are using.
74
75 If openpty() is being used (HAVE_OPENPTY defined in config.h) and it fails,
76 you can try compiling with --disable-openpty. You will probably then need
77 to create all the /dev/pty?? and /dev/tty?? devices, which can be
78 problematic for devfs. In general, openpty() is the best way to allocate
79 PTYs, so it's best to try and get it working.