paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 1 | -------------------------------------------------------------------------- |
gdt | 3764c0c | 2004-11-15 17:26:47 +0000 | [diff] [blame] | 2 | Building and Installing Quagga from releases or snapshots: |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 3 | |
| 4 | The 'INSTALL' file contains generic instructions on how to use 'configure' |
| 5 | scripts. |
| 6 | |
Greg Troxel | 301e4fb | 2006-09-20 14:46:07 +0000 | [diff] [blame] | 7 | Quagga requires a C compiler (and associated header files and |
| 8 | libraries) supporting the C99 standard. |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 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 |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 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 |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 21 | not a guarantee of support, merely "we agree that it is broken".) |
| 22 | |
Greg Troxel | 301e4fb | 2006-09-20 14:46:07 +0000 | [diff] [blame] | 23 | Dragonfly ? |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 24 | FreeBSD (stable branches currently supported, plus perhaps one) |
Greg Troxel | 301e4fb | 2006-09-20 14:46:07 +0000 | [diff] [blame] | 25 | FreeBSD-current |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 26 | Linux [kernel/distribution information needed] |
Greg Troxel | 301e4fb | 2006-09-20 14:46:07 +0000 | [diff] [blame] | 27 | NetBSD 4.x |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 28 | NetBSD 5.x |
| 29 | NetBSD 6.x |
Greg Troxel | 301e4fb | 2006-09-20 14:46:07 +0000 | [diff] [blame] | 30 | NetBSD-current |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 31 | OpenBSD ? [info needed on what should work] |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 32 | Solaris (modern/supported versions, including OpenSolaris forks) |
gdt | 3764c0c | 2004-11-15 17:26:47 +0000 | [diff] [blame] | 33 | |
David Lamparter | 8c99b4c | 2013-08-01 07:43:36 +0000 | [diff] [blame] | 34 | On BSD systems, installing libexecinfo is strongly recommended in order |
| 35 | to get backtrace support. |
| 36 | |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 37 | For further Quagga specific information on 'configure' and build-time |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 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: |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 41 | |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 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")' |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 47 | |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 48 | The Quagga website (http://www.quagga.net) currently has the info |
| 49 | files available in various formats. |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 50 | |
| 51 | -------------------------------------------------------------------------- |
Greg Troxel | 78116ab | 2013-07-15 10:15:49 -0400 | [diff] [blame] | 52 | Building Quagga from git checkouts: |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 53 | |
Greg Troxel | 78116ab | 2013-07-15 10:15:49 -0400 | [diff] [blame] | 54 | In order to build from git, you will need recent versions of several GNU |
paul | 7cad400 | 2005-06-28 00:19:48 +0000 | [diff] [blame] | 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. |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 60 | |
Greg Troxel | 9f0a19f | 2007-02-06 19:56:31 +0000 | [diff] [blame] | 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. |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 66 | |
Greg Troxel | 78116ab | 2013-07-15 10:15:49 -0400 | [diff] [blame] | 67 | [TODO: this list is out of date as of 2013-07] |
Greg Troxel | 9f0a19f | 2007-02-06 19:56:31 +0000 | [diff] [blame] | 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 | GNU AWK: 3.1.5 (released 2005-08-12) |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 73 | |
Greg Troxel | 78116ab | 2013-07-15 10:15:49 -0400 | [diff] [blame] | 74 | For running tests, one also needs: |
| 75 | |
| 76 | DejaGnu: |
| 77 | |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 78 | [TODO: texinfo 4.6 is now ancient and this should be revisited/fixed] |
| 79 | Because some systems provide texinfo 4.6 (4.7 is new), quagga.info is |
gdt | e017088 | 2005-08-10 15:07:02 +0000 | [diff] [blame] | 80 | checked in so that texinfo will generally not be invoked. When |
| 81 | texinfo 4.7 is widespread, quagga.info will be removed from CVS and |
| 82 | texinfo will become required again. (4.7 has figure support, needed |
| 83 | for the route server docs, which is why 4.6 doesn't work.) |
gdt | 38c2cfe | 2004-11-22 20:14:33 +0000 | [diff] [blame] | 84 | |
paul | 3849db2 | 2005-04-02 17:13:33 +0000 | [diff] [blame] | 85 | In order to create PostScript or PDF versions of the Texinfo documentation, |
| 86 | you will need the convert utility, from the ImageMagick toolset installed, |
| 87 | and epstopdf from the TeTeX suite. |
| 88 | |
gdt | 3764c0c | 2004-11-15 17:26:47 +0000 | [diff] [blame] | 89 | To create the required autotools files (Makefile.in, configure, etc.), |
Greg Troxel | 9f0a19f | 2007-02-06 19:56:31 +0000 | [diff] [blame] | 90 | run "./bootstrap.sh". After this you may run configure as for a |
| 91 | snapshot or release. |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 92 | |
| 93 | Please refer to "Building and Installing Quagga" above for further |
| 94 | instructions. |
gdt | 8bed780 | 2004-11-15 15:34:50 +0000 | [diff] [blame] | 95 | |
| 96 | -------------------------------------------------------------------------- |
| 97 | Notes on required versions: |
| 98 | |
| 99 | The general goal is to use a modern baseline of tools, while not |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 100 | imposing pain on those tracking supported (or almost supported) stable |
| 101 | distributions. The notes below explain what versions are present in |
| 102 | various environments. |
gdt | 8bed780 | 2004-11-15 15:34:50 +0000 | [diff] [blame] | 103 | |
Greg Troxel | f05a559 | 2013-03-03 11:38:17 -0500 | [diff] [blame] | 104 | NetBSD 4 provides texinfo 4.7. |
| 105 | NetBSD 5 and 6 provides texinfo 4.8 |
Greg Troxel | 9f0a19f | 2007-02-06 19:56:31 +0000 | [diff] [blame] | 106 | |
| 107 | Fedora Core ? provides autoconf 2.59. |
gdt | 38c2cfe | 2004-11-22 20:14:33 +0000 | [diff] [blame] | 108 | |
gdt | 9c3f5e6 | 2004-11-23 12:21:16 +0000 | [diff] [blame] | 109 | OpenBSD 3.6 provides texinfo 4.2. |
| 110 | OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8 |
gdt | 38c2cfe | 2004-11-22 20:14:33 +0000 | [diff] [blame] | 111 | |
paul | 9104f56 | 2004-11-12 10:30:21 +0000 | [diff] [blame] | 112 | -------------------------------------------------------------------------- |