]> git.proxmox.com Git - mirror_frr.git/blob - doc/developer/building-frr-for-omnios.rst
Merge pull request #5716 from opensourcerouting/bfdd-log
[mirror_frr.git] / doc / developer / building-frr-for-omnios.rst
1 OmniOS (OpenSolaris)
2 ====================================================
3
4 OmniOS restrictions:
5 --------------------
6
7 - MPLS is not supported on ``OmniOS`` or ``Solaris``. MPLS requires a
8 Linux Kernel (4.5 or higher). LDP can be built, but may have limited
9 use without MPLS
10
11 Enable IP & IPv6 forwarding
12 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
13
14 ::
15
16 routeadm -e ipv4-forwarding
17 routeadm -e ipv6-forwarding
18
19 Install required packages
20 -------------------------
21
22 Add packages:
23
24 ::
25
26 pkg install \
27 developer/build/autoconf \
28 developer/build/automake \
29 developer/lexer/flex \
30 developer/parser/bison \
31 developer/object-file \
32 developer/linker \
33 developer/library/lint \
34 developer/build/gnu-make \
35 developer/gcc51 \
36 library/idnkit \
37 library/idnkit/header-idnkit \
38 system/header \
39 system/library/math/header-math \
40 git libtool pkg-config
41
42 Add additional Solaris packages:
43
44 ::
45
46 pkgadd -d http://get.opencsw.org/now
47 /opt/csw/bin/pkgutil -U
48 /opt/csw/bin/pkgutil -y -i texinfo
49 /opt/csw/bin/pkgutil -y -i perl
50 /opt/csw/bin/pkgutil -y -i libjson_c_dev
51 /opt/csw/bin/pkgutil -y -i python27 py_pip python27_dev
52
53 Add libjson to Solaris equivalent of ld.so.conf
54
55 ::
56
57 crle -l /opt/csw/lib -u
58
59 Add pytest:
60
61 ::
62
63 pip install "pytest<5"
64
65 Install Sphinx:::
66
67 pip install sphinx
68
69 Select Python 2.7 as default (required for pytest)
70
71 ::
72
73 rm -f /usr/bin/python
74 ln -s /opt/csw/bin/python2.7 /usr/bin/python
75
76 Fix PATH for all users and non-interactive sessions. Edit
77 ``/etc/default/login`` and add the following default PATH:
78
79 ::
80
81 PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin
82
83 Edit ``~/.profile`` and add the following default PATH:
84
85 ::
86
87 PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/csw/bin
88
89 .. include:: building-libyang.rst
90
91 Get FRR, compile it and install it (from Git)
92 ---------------------------------------------
93
94 **This assumes you want to build and install FRR from source and not
95 using any packages**
96
97 Add frr group and user
98 ^^^^^^^^^^^^^^^^^^^^^^
99
100 ::
101
102 sudo groupadd -g 93 frr
103 sudo groupadd -g 94 frrvty
104 sudo useradd -g 93 -u 93 -G frrvty -c "FRR suite" \
105 -d /nonexistent -s /bin/false frr
106
107 (You may prefer different options on configure statement. These are just
108 an example)
109
110 ::
111
112 git clone https://github.com/frrouting/frr.git frr
113 cd frr
114 ./bootstrap.sh
115 export MAKE=gmake
116 export LDFLAGS="-L/opt/csw/lib"
117 export CPPFLAGS="-I/opt/csw/include"
118 export PKG_CONFIG_PATH=/opt/csw/lib/pkgconfig
119 ./configure \
120 --sysconfdir=/etc/frr \
121 --enable-exampledir=/usr/share/doc/frr/examples/ \
122 --localstatedir=/var/run/frr \
123 --sbindir=/usr/lib/frr \
124 --enable-multipath=64 \
125 --enable-user=frr \
126 --enable-group=frr \
127 --enable-vty-group=frrvty \
128 --enable-configfile-mask=0640 \
129 --enable-logfile-mask=0640 \
130 --enable-fpm \
131 --with-pkg-git-version \
132 --with-pkg-extra-version=-MyOwnFRRVersion
133 gmake
134 gmake check
135 sudo gmake install
136
137 Enable IP & IPv6 forwarding
138 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
139
140 ::
141
142 routeadm -e ipv4-forwarding
143 routeadm -e ipv6-forwarding