]> git.proxmox.com Git - mirror_frr.git/blob - INSTALL.quagga.txt
build: goodbye, gawk
[mirror_frr.git] / INSTALL.quagga.txt
1 --------------------------------------------------------------------------
2 Building and Installing Quagga from releases or snapshots:
3
4 The 'INSTALL' file contains generic instructions on how to use 'configure'
5 scripts.
6
7 Quagga requires a C compiler (and associated header files and
8 libraries) supporting the C99 standard.
9
10 Quagga requires a reasonable make. It is considered a bug if quagga
11 does not compile with the system make on recent FreeBSD, NetBSD or
12 OpenBSD, and a very serious bug if it does not compile with GNU make.
13
14 Quagga expects a POSIX.2 compliant system, more or less. Clean
15 workarounds for POSIX non-compliance are welcome.
16
17 It is considered a bug if Quagga fails to build and run on any of the
18 following systems (where .x indicates the most recent release), or
19 such systems "-current" versions. Or, it might be that this list is
20 out of date and will be updated. (Note that considering it a bug is
21 not a guarantee of support, merely "we agree that it is broken".)
22
23 Dragonfly ?
24 FreeBSD (stable branches currently supported, plus perhaps one)
25 FreeBSD-current
26 Linux [kernel/distribution information needed]
27 NetBSD 4.x
28 NetBSD 5.x
29 NetBSD 6.x
30 NetBSD-current
31 OpenBSD ? [info needed on what should work]
32 Solaris (modern/supported versions, including OpenSolaris forks)
33
34 On BSD systems, installing libexecinfo is strongly recommended in order
35 to get backtrace support.
36
37 For further Quagga specific information on 'configure' and build-time
38 configuration of the software, please read the Quagga info
39 documentation, (doc/quagga.info). To read the info page included with
40 the Quagga sources without first installing Quagga:
41
42 cd doc
43 # one of the following, depending on your info viewer preferences
44 info quagga.info
45 pinfo -r quagga.info
46 emacs -eval '(info "quagga.info")'
47
48 The Quagga website (http://www.quagga.net) currently has the info
49 files available in various formats.
50
51 --------------------------------------------------------------------------
52 Building Quagga from git checkouts:
53
54 In order to build from git, you will need recent versions of several GNU
55 tools, particularly autoconf, automake, libtool, GNU awk and texinfo. Note
56 that the CVS snapshots on the Quagga website should not require these tools;
57 everything is already setup ready to run 'configure'. If you have trouble
58 building from CVS checkout it is recommended that you try a CVS snapshot
59 instead.
60
61 We declare that the following versions should work for building from
62 CVS checkouts. Earlier versions may work, but failure to do so is not
63 a bug. Required versions can be moved earlier if no problems, or
64 later after a judgement that a system without a higher version is
65 deficient is made.
66
67 [TODO: this list is out of date as of 2013-07]
68 automake: 1.9.6 (released 2005-07-10)
69 autoconf: 2.59 (2.60 on 2006-06-26 is too recent to require)
70 libtool: 1.5.22 (released 2005-12-18)
71 texinfo: 4.7 (released 2004-04-10; 4.8 is not yet common)
72
73 For running tests, one also needs:
74
75 DejaGnu:
76
77 [TODO: texinfo 4.6 is now ancient and this should be revisited/fixed]
78 Because some systems provide texinfo 4.6 (4.7 is new), quagga.info is
79 checked in so that texinfo will generally not be invoked. When
80 texinfo 4.7 is widespread, quagga.info will be removed from CVS and
81 texinfo will become required again. (4.7 has figure support, needed
82 for the route server docs, which is why 4.6 doesn't work.)
83
84 In order to create PostScript or PDF versions of the Texinfo documentation,
85 you will need the convert utility, from the ImageMagick toolset installed,
86 and epstopdf from the TeTeX suite.
87
88 To create the required autotools files (Makefile.in, configure, etc.),
89 run "./bootstrap.sh". After this you may run configure as for a
90 snapshot or release.
91
92 Please refer to "Building and Installing Quagga" above for further
93 instructions.
94
95 --------------------------------------------------------------------------
96 Notes on required versions:
97
98 The general goal is to use a modern baseline of tools, while not
99 imposing pain on those tracking supported (or almost supported) stable
100 distributions. The notes below explain what versions are present in
101 various environments.
102
103 NetBSD 4 provides texinfo 4.7.
104 NetBSD 5 and 6 provides texinfo 4.8
105
106 Fedora Core ? provides autoconf 2.59.
107
108 OpenBSD 3.6 provides texinfo 4.2.
109 OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8
110
111 --------------------------------------------------------------------------