blob: 11c85b1a31ce37395f028053149c43218dbaebad [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
David Lamparter8c99b4c2013-08-01 07:43:36 +000034On BSD systems, installing libexecinfo is strongly recommended in order
35to get backtrace support.
36
paul9104f562004-11-12 10:30:21 +000037For further Quagga specific information on 'configure' and build-time
gdte0170882005-08-10 15:07:02 +000038configuration of the software, please read the Quagga info
39documentation, (doc/quagga.info). To read the info page included with
40the Quagga sources without first installing Quagga:
paul9104f562004-11-12 10:30:21 +000041
gdte0170882005-08-10 15:07:02 +000042 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")'
paul9104f562004-11-12 10:30:21 +000047
gdte0170882005-08-10 15:07:02 +000048The Quagga website (http://www.quagga.net) currently has the info
49files available in various formats.
paul9104f562004-11-12 10:30:21 +000050
51--------------------------------------------------------------------------
Greg Troxel78116ab2013-07-15 10:15:49 -040052Building Quagga from git checkouts:
paul9104f562004-11-12 10:30:21 +000053
Greg Troxel78116ab2013-07-15 10:15:49 -040054In order to build from git, you will need recent versions of several GNU
paul7cad4002005-06-28 00:19:48 +000055tools, particularly autoconf, automake, libtool, GNU awk and texinfo. Note
56that the CVS snapshots on the Quagga website should not require these tools;
57everything is already setup ready to run 'configure'. If you have trouble
58building from CVS checkout it is recommended that you try a CVS snapshot
59instead.
paul9104f562004-11-12 10:30:21 +000060
Greg Troxel9f0a19f2007-02-06 19:56:31 +000061We declare that the following versions should work for building from
62CVS checkouts. Earlier versions may work, but failure to do so is not
63a bug. Required versions can be moved earlier if no problems, or
64later after a judgement that a system without a higher version is
65deficient is made.
paul9104f562004-11-12 10:30:21 +000066
Greg Troxel78116ab2013-07-15 10:15:49 -040067 [TODO: this list is out of date as of 2013-07]
Greg Troxel9f0a19f2007-02-06 19:56:31 +000068 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 GNU AWK: 3.1.5 (released 2005-08-12)
paul9104f562004-11-12 10:30:21 +000073
Greg Troxel78116ab2013-07-15 10:15:49 -040074For running tests, one also needs:
75
76 DejaGnu:
77
Greg Troxelf05a5592013-03-03 11:38:17 -050078[TODO: texinfo 4.6 is now ancient and this should be revisited/fixed]
79Because some systems provide texinfo 4.6 (4.7 is new), quagga.info is
gdte0170882005-08-10 15:07:02 +000080checked in so that texinfo will generally not be invoked. When
81texinfo 4.7 is widespread, quagga.info will be removed from CVS and
82texinfo will become required again. (4.7 has figure support, needed
83for the route server docs, which is why 4.6 doesn't work.)
gdt38c2cfe2004-11-22 20:14:33 +000084
paul3849db22005-04-02 17:13:33 +000085In order to create PostScript or PDF versions of the Texinfo documentation,
86you will need the convert utility, from the ImageMagick toolset installed,
87and epstopdf from the TeTeX suite.
88
gdt3764c0c2004-11-15 17:26:47 +000089To create the required autotools files (Makefile.in, configure, etc.),
Greg Troxel9f0a19f2007-02-06 19:56:31 +000090run "./bootstrap.sh". After this you may run configure as for a
91snapshot or release.
paul9104f562004-11-12 10:30:21 +000092
93Please refer to "Building and Installing Quagga" above for further
94instructions.
gdt8bed7802004-11-15 15:34:50 +000095
96--------------------------------------------------------------------------
97Notes on required versions:
98
99The general goal is to use a modern baseline of tools, while not
Greg Troxelf05a5592013-03-03 11:38:17 -0500100imposing pain on those tracking supported (or almost supported) stable
101distributions. The notes below explain what versions are present in
102various environments.
gdt8bed7802004-11-15 15:34:50 +0000103
Greg Troxelf05a5592013-03-03 11:38:17 -0500104NetBSD 4 provides texinfo 4.7.
105NetBSD 5 and 6 provides texinfo 4.8
Greg Troxel9f0a19f2007-02-06 19:56:31 +0000106
107Fedora Core ? provides autoconf 2.59.
gdt38c2cfe2004-11-22 20:14:33 +0000108
gdt9c3f5e62004-11-23 12:21:16 +0000109OpenBSD 3.6 provides texinfo 4.2.
110OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8
gdt38c2cfe2004-11-22 20:14:33 +0000111
paul9104f562004-11-12 10:30:21 +0000112--------------------------------------------------------------------------