| -------------------------------------------------------------------------- |
| Building and Installing Quagga from releases or snapshots: |
| |
| The 'INSTALL' file contains generic instructions on how to use 'configure' |
| scripts. |
| |
| Quagga requires a C compiler (and associated header files and |
| libraries) supporting the C99 standard. |
| |
| Quagga requires a reasonable make. It is considered a bug if quagga |
| does not compile with the system make on recent FreeBSD, NetBSD or |
| OpenBSD, and a very serious bug if it does not compile with GNU make. |
| |
| Quagga expects a POSIX.2 compliant system, more or less. Clean |
| workarounds for POSIX non-compliance are welcome. |
| |
| It is considered a bug if Quagga fails to build and run on any of the |
| following systems (where .x indicates the most recent release), or |
| such systems "-current" versions. Or, it might be that this list is |
| out of date and will be updated. (Note that considering it a bug is |
| not a guarantee of support, merely "we agree that it is broken".) |
| |
| Dragonfly ? |
| FreeBSD (stable branches currently supported, plus perhaps one) |
| FreeBSD-current |
| Linux [kernel/distribution information needed] |
| NetBSD 4.x |
| NetBSD 5.x |
| NetBSD 6.x |
| NetBSD-current |
| OpenBSD ? [info needed on what should work] |
| Solaris (modern/supported versions, including OpenSolaris forks) |
| |
| On BSD systems, installing libexecinfo is strongly recommended in order |
| to get backtrace support. |
| |
| For further Quagga specific information on 'configure' and build-time |
| configuration of the software, please read the Quagga info |
| documentation, (doc/quagga.info). To read the info page included with |
| the Quagga sources without first installing Quagga: |
| |
| cd doc |
| # one of the following, depending on your info viewer preferences |
| info quagga.info |
| pinfo -r quagga.info |
| emacs -eval '(info "quagga.info")' |
| |
| The Quagga website (http://www.quagga.net) currently has the info |
| files available in various formats. |
| |
| -------------------------------------------------------------------------- |
| Building Quagga from git checkouts: |
| |
| In order to build from git, you will need recent versions of several GNU |
| tools, particularly autoconf, automake, libtool, GNU awk and texinfo. Note |
| that the CVS snapshots on the Quagga website should not require these tools; |
| everything is already setup ready to run 'configure'. If you have trouble |
| building from CVS checkout it is recommended that you try a CVS snapshot |
| instead. |
| |
| We declare that the following versions should work for building from |
| CVS checkouts. Earlier versions may work, but failure to do so is not |
| a bug. Required versions can be moved earlier if no problems, or |
| later after a judgement that a system without a higher version is |
| deficient is made. |
| |
| [TODO: this list is out of date as of 2013-07] |
| automake: 1.9.6 (released 2005-07-10) |
| autoconf: 2.59 (2.60 on 2006-06-26 is too recent to require) |
| libtool: 1.5.22 (released 2005-12-18) |
| texinfo: 4.7 (released 2004-04-10; 4.8 is not yet common) |
| GNU AWK: 3.1.5 (released 2005-08-12) |
| |
| For running tests, one also needs: |
| |
| DejaGnu: |
| |
| [TODO: texinfo 4.6 is now ancient and this should be revisited/fixed] |
| Because some systems provide texinfo 4.6 (4.7 is new), quagga.info is |
| checked in so that texinfo will generally not be invoked. When |
| texinfo 4.7 is widespread, quagga.info will be removed from CVS and |
| texinfo will become required again. (4.7 has figure support, needed |
| for the route server docs, which is why 4.6 doesn't work.) |
| |
| In order to create PostScript or PDF versions of the Texinfo documentation, |
| you will need the convert utility, from the ImageMagick toolset installed, |
| and epstopdf from the TeTeX suite. |
| |
| To create the required autotools files (Makefile.in, configure, etc.), |
| run "./bootstrap.sh". After this you may run configure as for a |
| snapshot or release. |
| |
| Please refer to "Building and Installing Quagga" above for further |
| instructions. |
| |
| -------------------------------------------------------------------------- |
| Notes on required versions: |
| |
| The general goal is to use a modern baseline of tools, while not |
| imposing pain on those tracking supported (or almost supported) stable |
| distributions. The notes below explain what versions are present in |
| various environments. |
| |
| NetBSD 4 provides texinfo 4.7. |
| NetBSD 5 and 6 provides texinfo 4.8 |
| |
| Fedora Core ? provides autoconf 2.59. |
| |
| OpenBSD 3.6 provides texinfo 4.2. |
| OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8 |
| |
| -------------------------------------------------------------------------- |