Basic instructions for building Debian packages for FRR (Free Range Routing), a fork of Quagga, can be found in the github repository as Building your own FRRouting Debian Package.
These build notes have a slight twist -- using a kernel from backports. It actually doesn't affect the build, but here is my sequence.
sudo apt install -t stretch-backports linux-image-4.14.0-0.bpo.3-amd64 iproute2 sudo reboot sudo apt --no-install-recommends install \ libjson-c-dev \ libpython-dev \ libsystemd-dev \ linuxdoc-tools \ autoconf automake \ libtool \ make \ gawk \ libreadline-dev \ texinfo \ pkg-config \ bison flex \ python-pip \ libc-ares-dev \ python3-dev \ devscripts equivs \ git git clone https://github.com/frrouting/frr.git frr cd frr ./bootstrap.sh ./configure --with-pkg-extra-version=-qvsl-1.0 make dist make dist export WANT_CUMULUS_MODE=1 mv debianpkg debian make -f debian/rules backports mkdir frrpkg cd frrpkg/ tar xf ~/frr/frr_*.orig.tar.gz cd frr* . /etc/os-release tar xf ~/frr/frr_*${ID}${VERSION_ID}*.debian.tar.xz sudo mk-build-deps --install debian/control debuild -b -uc -us
As of this writing, the following packages are built, with the first being the one of interest:
frrpkg/frr_4.1-dev-rpb-1.0-1~debian9+1_amd64.deb frrpkg/frr-pythontools_4.1-dev-rpb-1.0-1~debian9+1_all.deb frrpkg/frr-dbg_4.1-dev-rpb-1.0-1~debian9+1_amd64.deb frrpkg/frr-doc_4.1-dev-rpb-1.0-1~debian9+1_all.deb
gcc -v for debian/stretch yields:
gcc version 6.3.0 20170516 (Debian 6.3.0-18)
2017/11/17: a build note, BGP RPKI available in FRouting
To use this code, ensure that you have installed a new dependant library rtrlib available here: http://rtrlib.realmv6.org/ And configure FRR with `--enable-rpki` when compiling it.
2018/04/16 groff, groff-base packages - I am keeping this as a note here because with a minimal list of packages during a build, I may be missing one of these. Next time I perform a build, I'll try to remember to come back here and see what I missed.