blob: 0d465879f5f34e269e78ad1ee1b05bb0557abcc3 [file] [log] [blame]
paul9104f562004-11-12 10:30:21 +00001--------------------------------------------------------------------------
gdt3764c0c2004-11-15 17:26:47 +00002Building and Installing Quagga from releases or snapshots:
paul9104f562004-11-12 10:30:21 +00003
4The 'INSTALL' file contains generic instructions on how to use 'configure'
5scripts.
6
Greg Troxel301e4fb2006-09-20 14:46:07 +00007Quagga requires a C compiler (and associated header files and
8libraries) supporting the C99 standard.
gdte0170882005-08-10 15:07:02 +00009
10Quagga requires a reasonable make. It is considered a bug if quagga
11does not compile with the system make on recent FreeBSD, NetBSD or
12OpenBSD, and a very serious bug if it does not compile with GNU make.
13
14Quagga expects a POSIX.2 compliant system, more or less. Clean
15workarounds for POSIX non-compliance are welcome.
16
17It is considered a bug if Quagga fails to build and run on any of the
18following systems (where .x indicates the most recent release), or
Greg Troxelf05a5592013-03-03 11:38:17 -050019such systems "-current" versions. Or, it might be that this list is
20out of date and will be updated. (Note that considering it a bug is
gdte0170882005-08-10 15:07:02 +000021not a guarantee of support, merely "we agree that it is broken".)
22
Greg Troxel301e4fb2006-09-20 14:46:07 +000023 Dragonfly ?
Greg Troxelf05a5592013-03-03 11:38:17 -050024 FreeBSD (stable branches currently supported, plus perhaps one)
Greg Troxel301e4fb2006-09-20 14:46:07 +000025 FreeBSD-current
gdte0170882005-08-10 15:07:02 +000026 Linux [kernel/distribution information needed]
Greg Troxel301e4fb2006-09-20 14:46:07 +000027 NetBSD 4.x
Greg Troxelf05a5592013-03-03 11:38:17 -050028 NetBSD 5.x
29 NetBSD 6.x
Greg Troxel301e4fb2006-09-20 14:46:07 +000030 NetBSD-current
gdte0170882005-08-10 15:07:02 +000031 OpenBSD ? [info needed on what should work]
Greg Troxelf05a5592013-03-03 11:38:17 -050032 Solaris (modern/supported versions, including OpenSolaris forks)
gdt3764c0c2004-11-15 17:26:47 +000033
paul9104f562004-11-12 10:30:21 +000034For further Quagga specific information on 'configure' and build-time
gdte0170882005-08-10 15:07:02 +000035configuration of the software, please read the Quagga info
36documentation, (doc/quagga.info). To read the info page included with
37the Quagga sources without first installing Quagga:
paul9104f562004-11-12 10:30:21 +000038
gdte0170882005-08-10 15:07:02 +000039 cd doc
40 # one of the following, depending on your info viewer preferences
41 info quagga.info
42 pinfo -r quagga.info
43 emacs -eval '(info "quagga.info")'
paul9104f562004-11-12 10:30:21 +000044
gdte0170882005-08-10 15:07:02 +000045The Quagga website (http://www.quagga.net) currently has the info
46files available in various formats.
paul9104f562004-11-12 10:30:21 +000047
48--------------------------------------------------------------------------
Greg Troxel78116ab2013-07-15 10:15:49 -040049Building Quagga from git checkouts:
paul9104f562004-11-12 10:30:21 +000050
Greg Troxel78116ab2013-07-15 10:15:49 -040051In order to build from git, you will need recent versions of several GNU
paul7cad4002005-06-28 00:19:48 +000052tools, particularly autoconf, automake, libtool, GNU awk and texinfo. Note
53that the CVS snapshots on the Quagga website should not require these tools;
54everything is already setup ready to run 'configure'. If you have trouble
55building from CVS checkout it is recommended that you try a CVS snapshot
56instead.
paul9104f562004-11-12 10:30:21 +000057
Greg Troxel9f0a19f2007-02-06 19:56:31 +000058We declare that the following versions should work for building from
59CVS checkouts. Earlier versions may work, but failure to do so is not
60a bug. Required versions can be moved earlier if no problems, or
61later after a judgement that a system without a higher version is
62deficient is made.
paul9104f562004-11-12 10:30:21 +000063
Greg Troxel78116ab2013-07-15 10:15:49 -040064 [TODO: this list is out of date as of 2013-07]
Greg Troxel9f0a19f2007-02-06 19:56:31 +000065 automake: 1.9.6 (released 2005-07-10)
66 autoconf: 2.59 (2.60 on 2006-06-26 is too recent to require)
67 libtool: 1.5.22 (released 2005-12-18)
68 texinfo: 4.7 (released 2004-04-10; 4.8 is not yet common)
69 GNU AWK: 3.1.5 (released 2005-08-12)
paul9104f562004-11-12 10:30:21 +000070
Greg Troxel78116ab2013-07-15 10:15:49 -040071For running tests, one also needs:
72
73 DejaGnu:
74
Greg Troxelf05a5592013-03-03 11:38:17 -050075[TODO: texinfo 4.6 is now ancient and this should be revisited/fixed]
76Because some systems provide texinfo 4.6 (4.7 is new), quagga.info is
gdte0170882005-08-10 15:07:02 +000077checked in so that texinfo will generally not be invoked. When
78texinfo 4.7 is widespread, quagga.info will be removed from CVS and
79texinfo will become required again. (4.7 has figure support, needed
80for the route server docs, which is why 4.6 doesn't work.)
gdt38c2cfe2004-11-22 20:14:33 +000081
paul3849db22005-04-02 17:13:33 +000082In order to create PostScript or PDF versions of the Texinfo documentation,
83you will need the convert utility, from the ImageMagick toolset installed,
84and epstopdf from the TeTeX suite.
85
gdt3764c0c2004-11-15 17:26:47 +000086To create the required autotools files (Makefile.in, configure, etc.),
Greg Troxel9f0a19f2007-02-06 19:56:31 +000087run "./bootstrap.sh". After this you may run configure as for a
88snapshot or release.
paul9104f562004-11-12 10:30:21 +000089
90Please refer to "Building and Installing Quagga" above for further
91instructions.
gdt8bed7802004-11-15 15:34:50 +000092
93--------------------------------------------------------------------------
94Notes on required versions:
95
96The general goal is to use a modern baseline of tools, while not
Greg Troxelf05a5592013-03-03 11:38:17 -050097imposing pain on those tracking supported (or almost supported) stable
98distributions. The notes below explain what versions are present in
99various environments.
gdt8bed7802004-11-15 15:34:50 +0000100
Greg Troxelf05a5592013-03-03 11:38:17 -0500101NetBSD 4 provides texinfo 4.7.
102NetBSD 5 and 6 provides texinfo 4.8
Greg Troxel9f0a19f2007-02-06 19:56:31 +0000103
104Fedora Core ? provides autoconf 2.59.
gdt38c2cfe2004-11-22 20:14:33 +0000105
gdt9c3f5e62004-11-23 12:21:16 +0000106OpenBSD 3.6 provides texinfo 4.2.
107OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8
gdt38c2cfe2004-11-22 20:14:33 +0000108
paul9104f562004-11-12 10:30:21 +0000109--------------------------------------------------------------------------