mirror_frr/doc/developer/building-libyang.rst
Lou Berger aedd2f8515 doc: add info on libyang install and configure options
Signed-off-by: Lou Berger <lberger@labn.net>
2018-10-31 08:31:46 -04:00

63 lines
2.3 KiB
ReStructuredText

The libyang library can be installed from third-party packages available `here
<https://ci1.netdef.org/browse/LIBYANG-YANGRELEASE/latestSuccessful/artifact>`_.
Note: the libyang dev/devel packages need to be installed in addition
to the libyang core package in order to build FRR successfully.
For example, for CentOS 7.x:
.. code-block:: shell
wget https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-1/CentOS-7-x86_64-Packages/libyang-0.16.46-0.x86_64.rpm
wget https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-1/CentOS-7-x86_64-Packages/libyang-devel-0.16.46-0.x86_64.rpm
sudo rpm -i libyang-0.16.46-0.x86_64.rpm libyang-devel-0.16.46-0.x86_64.rpm
or Ubuntu 18.04:
.. code-block:: shell
wget https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-1/Ubuntu-18.04-x86_64-Packages/libyang-dev_0.16.46_amd64.deb
wget https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-1/Ubuntu-18.04-x86_64-Packages/libyang_0.16.46_amd64.deb
sudo apt install libpcre3-dev
sudo dpkg -i libyang-dev_0.16.46_amd64.deb libyang_0.16.46_amd64.deb
Alternatively, libyang can be built and installed manually by following
the steps below:
.. code-block:: shell
git clone https://github.com/opensourcerouting/libyang
cd libyang
git checkout -b tmp origin/tmp
mkdir build; cd build
cmake -DENABLE_LYD_PRIV=ON ..
make
sudo make install
When building libyang on CentOS 6, it's also necessary to pass the
``-DENABLE_CACHE=OFF`` parameter to cmake.
Note: please check the `libyang build requirements
<https://github.com/CESNET/libyang/blob/master/README.md#build-requirements>`_
first.
Libyang uses loadable libraries an YANG modules. It supports
environment variables to allow overriding the load paths for each of
these. With FRR, this override currently must be done at the time of
running FRR's configure command using new options. The new options are:
.. code-block:: shell
--with-yangmodelsdir=DIR
yang models directory (${datarootdir}/yang)
--with-libyang-pluginsdir=DIR
yangmodule plugins directory
(${libdir}/frr/libyang_plugins)
an example which uses the compile directory is:
.. code-block:: shell
./configure --with-libyang-pluginsdir="`pwd`/yang/libyang_plugins/.libs" \
--with-yangmodelsdir="`pwd`/yang"