1-------------------------------------------------------------------------- 2Building and Installing Quagga from releases or snapshots: 3 4The 'INSTALL' file contains generic instructions on how to use 'configure' 5scripts. 6 7Quagga requires a C compiler (and associated header files and 8libraries) supporting the C99 standard. 9 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 19such 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 21not 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 34On BSD systems, installing libexecinfo is strongly recommended in order 35to get backtrace support. 36 37For further Quagga specific information on 'configure' and build-time 38configuration 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: 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 48The Quagga website (http://www.quagga.net) currently has the info 49files available in various formats. 50 51-------------------------------------------------------------------------- 52Building Quagga from git checkouts: 53 54In order to build from git, you will need recent versions of several GNU 55tools, 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. 60 61We 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. 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 GNU AWK: 3.1.5 (released 2005-08-12) 73 74For running tests, one also needs: 75 76 DejaGnu: 77 78[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 80checked 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.) 84 85In 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 89To create the required autotools files (Makefile.in, configure, etc.), 90run "./bootstrap.sh". After this you may run configure as for a 91snapshot or release. 92 93Please refer to "Building and Installing Quagga" above for further 94instructions. 95 96-------------------------------------------------------------------------- 97Notes on required versions: 98 99The general goal is to use a modern baseline of tools, while not 100imposing pain on those tracking supported (or almost supported) stable 101distributions. The notes below explain what versions are present in 102various environments. 103 104NetBSD 4 provides texinfo 4.7. 105NetBSD 5 and 6 provides texinfo 4.8 106 107Fedora Core ? provides autoconf 2.59. 108 109OpenBSD 3.6 provides texinfo 4.2. 110OpenBSD [3.6] ports provides automake 1.4-p6 autoconf 2.5.9 libtool 1.5.8 111 112-------------------------------------------------------------------------- 113