mirror_frr/doc/developer/building-libyang.rst
Christian Hopps 3bb513c399 lib: adapt to version 2 of libyang
Compile with v2.0.0 tag of `libyang2` branch of:
https://github.com/CESNET/libyang

staticd init load time of 10k routes now 6s vs ly1 time of 150s

Signed-off-by: Christian Hopps <chopps@labn.net>
2021-05-13 16:24:48 -04:00

49 lines
1.6 KiB
ReStructuredText

FRR depends on the relatively new ``libyang`` library to provide YANG/NETCONF
support. Unfortunately, most distributions do not yet offer a ``libyang``
package from their repositories. Therefore we offer two options to install this
library.
**Option 1: Binary Install**
The FRR project builds some binary ``libyang`` packages.
RPM packages are at our `RPM repository <https://rpm.frrouting.org>`_.
DEB packages are available as CI artifacts `here
<https://ci1.netdef.org/browse/LIBYANG-LIBYANG-V2/latestSuccessful/artifact>`_.
.. warning::
``libyang`` version 2.0.0 or newer is required to build FRR. Currently a tag
(``v2.0.0``) is used from the libyang2 branch.
.. note::
The ``libyang`` development packages need to be installed in addition to the
libyang core package in order to build FRR successfully. Make sure to
download and install those from the link above alongside the binary
packages.
Depending on your platform, you may also need to install the PCRE
development package. Typically this is ``libpcre-dev`` or ``pcre-devel``.
**Option 2: Source Install**
.. note::
Ensure that the `libyang build requirements
<https://github.com/CESNET/libyang/tree/libyang2#build-requirements>`_
are met before continuing. Usually this entails installing ``cmake`` and
``libpcre-dev`` or ``pcre-devel``.
.. code-block:: console
git clone https://github.com/CESNET/libyang.git -b libyang2
cd libyang
git checkout v2.0.0
mkdir build; cd build
cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:String="Release" ..
make
sudo make install