mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 21:47:15 +02:00
build: protobuf is required so update building docs
- recommend using libyang 2.1.128 but accept 2.0.0 for now. - update ubuntu building doc to add GRPC section - update ubuntu reference docker builds to match grpc doc change Signed-off-by: Christian Hopps <chopps@labn.net>
This commit is contained in:
parent
353ee7bb81
commit
c00002d0d0
|
@ -1953,6 +1953,10 @@ AC_SUBST([SNMP_CFLAGS])
|
||||||
dnl ---------------
|
dnl ---------------
|
||||||
dnl libyang
|
dnl libyang
|
||||||
dnl ---------------
|
dnl ---------------
|
||||||
|
PKG_CHECK_MODULES([LIBYANG], [libyang >= 2.1.128], , [
|
||||||
|
AC_MSG_WARN([Recommended libyang version is >= 2.1.128.])
|
||||||
|
])
|
||||||
|
|
||||||
PKG_CHECK_MODULES([LIBYANG], [libyang >= 2.0.0], , [
|
PKG_CHECK_MODULES([LIBYANG], [libyang >= 2.0.0], , [
|
||||||
AC_MSG_ERROR([libyang (>= 2.0.0) was not found on your system.])
|
AC_MSG_ERROR([libyang (>= 2.0.0) was not found on your system.])
|
||||||
])
|
])
|
||||||
|
|
|
@ -11,18 +11,12 @@ Installing Dependencies
|
||||||
git autoconf automake libtool make cmake pcre readline texinfo \
|
git autoconf automake libtool make cmake pcre readline texinfo \
|
||||||
pkg-config pam json-c bison flex python-pytest \
|
pkg-config pam json-c bison flex python-pytest \
|
||||||
c-ares python python2-ipaddress python-sphinx \
|
c-ares python python2-ipaddress python-sphinx \
|
||||||
net-snmp perl libcap libelf libunwind
|
net-snmp perl libcap libelf libunwind protobuf-c
|
||||||
|
|
||||||
.. include:: building-libunwind-note.rst
|
.. include:: building-libunwind-note.rst
|
||||||
|
|
||||||
.. include:: building-libyang.rst
|
.. include:: building-libyang.rst
|
||||||
|
|
||||||
Protobuf
|
|
||||||
^^^^^^^^
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
sudo pacman -S protobuf-c
|
|
||||||
|
|
||||||
ZeroMQ
|
ZeroMQ
|
||||||
^^^^^^
|
^^^^^^
|
||||||
|
|
|
@ -14,16 +14,11 @@ Installing Dependencies
|
||||||
git autoconf automake libtool make libreadline-dev texinfo \
|
git autoconf automake libtool make libreadline-dev texinfo \
|
||||||
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
|
pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
|
||||||
libc-ares-dev python3-dev python3-sphinx install-info build-essential \
|
libc-ares-dev python3-dev python3-sphinx install-info build-essential \
|
||||||
|
protobuf-c-compiler libprotobuf-c-dev \
|
||||||
libsnmp-dev perl libcap-dev libelf-dev
|
libsnmp-dev perl libcap-dev libelf-dev
|
||||||
|
|
||||||
.. include:: building-libyang.rst
|
.. include:: building-libyang.rst
|
||||||
|
|
||||||
Protobuf
|
|
||||||
^^^^^^^^
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
|
|
||||||
|
|
||||||
Building & Installing FRR
|
Building & Installing FRR
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
|
@ -19,12 +19,6 @@ Installing Dependencies
|
||||||
|
|
||||||
.. include:: building-libyang.rst
|
.. include:: building-libyang.rst
|
||||||
|
|
||||||
Protobuf
|
|
||||||
^^^^^^^^
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
|
|
||||||
|
|
||||||
Building & Installing FRR
|
Building & Installing FRR
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
|
@ -15,18 +15,13 @@ Installing Dependencies
|
||||||
pkg-config libpam0g-dev libjson-c-dev bison flex \
|
pkg-config libpam0g-dev libjson-c-dev bison flex \
|
||||||
libc-ares-dev python3-dev python3-sphinx \
|
libc-ares-dev python3-dev python3-sphinx \
|
||||||
install-info build-essential libsnmp-dev perl libcap-dev \
|
install-info build-essential libsnmp-dev perl libcap-dev \
|
||||||
|
protobuf-c-compiler libprotobuf-c-dev \
|
||||||
libelf-dev libunwind-dev
|
libelf-dev libunwind-dev
|
||||||
|
|
||||||
.. include:: building-libunwind-note.rst
|
.. include:: building-libunwind-note.rst
|
||||||
|
|
||||||
.. include:: building-libyang.rst
|
.. include:: building-libyang.rst
|
||||||
|
|
||||||
Protobuf
|
|
||||||
^^^^^^^^
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
|
|
||||||
|
|
||||||
ZeroMQ
|
ZeroMQ
|
||||||
^^^^^^
|
^^^^^^
|
||||||
|
|
|
@ -15,22 +15,33 @@ Installing Dependencies
|
||||||
pkg-config libpam0g-dev libjson-c-dev bison flex \
|
pkg-config libpam0g-dev libjson-c-dev bison flex \
|
||||||
libc-ares-dev python3-dev python3-sphinx \
|
libc-ares-dev python3-dev python3-sphinx \
|
||||||
install-info build-essential libsnmp-dev perl \
|
install-info build-essential libsnmp-dev perl \
|
||||||
|
protobuf-c-compiler libprotobuf-c-dev \
|
||||||
libcap-dev libelf-dev libunwind-dev
|
libcap-dev libelf-dev libunwind-dev
|
||||||
|
|
||||||
.. include:: building-libunwind-note.rst
|
.. include:: building-libunwind-note.rst
|
||||||
|
|
||||||
Note that Ubuntu 20 no longer installs python 2.x, so it must be
|
|
||||||
installed explicitly. Ensure that your system has a symlink named
|
|
||||||
``/usr/bin/python`` pointing at ``/usr/bin/python3``.
|
|
||||||
|
|
||||||
.. include:: building-libyang.rst
|
.. include:: building-libyang.rst
|
||||||
|
|
||||||
Protobuf
|
GRPC
|
||||||
^^^^^^^^
|
^^^^
|
||||||
|
If GRPC is enabled using ``--enable-grpc`` the following packages should be
|
||||||
|
installed.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
|
sudo apt-get install libgrpc++-dev protobuf-compiler-grpc \
|
||||||
|
|
||||||
|
|
||||||
|
Config Rollbacks
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If config rollbacks are enabled using ``--enable-config-rollbacks``
|
||||||
|
the sqlite3 developer package also should be installed.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
sudo apt install libsqlite3-dev
|
||||||
|
|
||||||
|
|
||||||
ZeroMQ
|
ZeroMQ
|
||||||
^^^^^^
|
^^^^^^
|
||||||
|
|
|
@ -16,27 +16,19 @@ Installing Dependencies
|
||||||
libc-ares-dev python3-dev python3-sphinx \
|
libc-ares-dev python3-dev python3-sphinx \
|
||||||
install-info build-essential libsnmp-dev perl \
|
install-info build-essential libsnmp-dev perl \
|
||||||
libcap-dev libelf-dev libunwind-dev \
|
libcap-dev libelf-dev libunwind-dev \
|
||||||
|
protobuf-c-compiler libprotobuf-c-dev \
|
||||||
libyang2 libyang2-dev
|
libyang2 libyang2-dev
|
||||||
|
|
||||||
.. include:: building-libunwind-note.rst
|
.. include:: building-libunwind-note.rst
|
||||||
|
|
||||||
Note that Ubuntu >= 20 no longer installs python 2.x, so it must be
|
GRPC
|
||||||
installed explicitly. Ensure that your system has a symlink named
|
^^^^
|
||||||
``/usr/bin/python`` pointing at ``/usr/bin/python3``.
|
If GRPC is enabled using ``--enable-grpc`` the following packages should be
|
||||||
|
installed.
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
sudo ln -s /usr/bin/python3 /usr/bin/python
|
|
||||||
python --version
|
|
||||||
|
|
||||||
|
|
||||||
Protobuf
|
|
||||||
^^^^^^^^
|
|
||||||
This is optional
|
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
sudo apt-get install protobuf-c-compiler libprotobuf-c-dev
|
sudo apt-get install libgrpc++-dev protobuf-compiler-grpc \
|
||||||
|
|
||||||
|
|
||||||
Config Rollbacks
|
Config Rollbacks
|
||||||
|
|
|
@ -14,7 +14,8 @@ DEB packages are available as CI artifacts `here
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
``libyang`` version 2.0.0 or newer is required to build FRR.
|
``libyang`` version 2.0.0 or newer is required to build FRR, version 2.1.128
|
||||||
|
or newer is recommended.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -39,7 +40,7 @@ DEB packages are available as CI artifacts `here
|
||||||
|
|
||||||
git clone https://github.com/CESNET/libyang.git
|
git clone https://github.com/CESNET/libyang.git
|
||||||
cd libyang
|
cd libyang
|
||||||
git checkout v2.0.0
|
git checkout v2.1.128
|
||||||
mkdir build; cd build
|
mkdir build; cd build
|
||||||
cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr \
|
cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
-D CMAKE_BUILD_TYPE:String="Release" ..
|
-D CMAKE_BUILD_TYPE:String="Release" ..
|
||||||
|
|
|
@ -41,6 +41,12 @@ RUN apt update && apt upgrade -y && \
|
||||||
cmake \
|
cmake \
|
||||||
libpcre2-dev \
|
libpcre2-dev \
|
||||||
&& \
|
&& \
|
||||||
|
# GRPC extra build requirements
|
||||||
|
apt-get install -y \
|
||||||
|
libgrpc-dev \
|
||||||
|
libgrpc++-dev \
|
||||||
|
protobuf-compiler-grpc \
|
||||||
|
&& \
|
||||||
# Runtime/triage/testing requirements
|
# Runtime/triage/testing requirements
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
curl \
|
curl \
|
||||||
|
@ -91,7 +97,7 @@ USER frr:frr
|
||||||
RUN cd && pwd && ls -al && \
|
RUN cd && pwd && ls -al && \
|
||||||
git clone https://github.com/CESNET/libyang.git && \
|
git clone https://github.com/CESNET/libyang.git && \
|
||||||
cd libyang && \
|
cd libyang && \
|
||||||
git checkout v2.1.80 && \
|
git checkout v2.1.128 && \
|
||||||
mkdir build; cd build && \
|
mkdir build; cd build && \
|
||||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
-DCMAKE_BUILD_TYPE:String="Release" .. && \
|
-DCMAKE_BUILD_TYPE:String="Release" .. && \
|
||||||
|
@ -112,6 +118,7 @@ RUN cd ~/frr && \
|
||||||
--enable-user=frr \
|
--enable-user=frr \
|
||||||
--enable-group=frr \
|
--enable-group=frr \
|
||||||
--enable-config-rollbacks \
|
--enable-config-rollbacks \
|
||||||
|
--enable-grpc \
|
||||||
--enable-vty-group=frrvty \
|
--enable-vty-group=frrvty \
|
||||||
--enable-snmp=agentx \
|
--enable-snmp=agentx \
|
||||||
--enable-scripting \
|
--enable-scripting \
|
||||||
|
|
Loading…
Reference in a new issue