forked from sonic-net/sonic-pins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install_dependencies.sh
executable file
·74 lines (72 loc) · 2.85 KB
/
install_dependencies.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
# Copyright 2021 Google LLC
#
# Please read carefully before adding new dependencies:
#
# System dependencies are disallowed by default, and the bar for exceptions is
# high.
#
# pins-infra strives for a hermetic build, i.e. one that is insensitive to the
# libraries and other software installed on your machine, other than Bazel and
# the compilers. This ensure the build is reproducible and portable.
#
# Before adding a new system dependency, consider the following:
#
# 1. Please read the note on dependencies in pins_infra_deps.bzl.
#
# 2. Can the dependency be avoided altogether? Consider that there is a
# non-trival cost to maintaining dependencies over time.
#
# 3. Can the dependency be built with Bazel instead?
# - For many libraries, there are existing Bazel BUILD files. Try a quick
# Google search.
# - If there is no existing BUILD file, can you write your own BUILD file?
# See the bazel/ folder for examples. Ideally, we strive to upstream such
# BUILD files so everyone can benefit and share the maintenance burden.
# - If it's too hard to write a native BUILD file, try writing a BUILD file
# using rules_foreign_cc (https://github.com/bazelbuild/rules_foreign_cc).
#. See the bazel/ folder for examples.
# Please read carefully before adding new dependencies:
#
# System dependencies are disallowed by default, and the bar for exceptions is
# high.
#
# pins-infra strives for a hermetic build, i.e. one that is insensitive to the
# libraries and other software installed on your machine, other than Bazel and
# the compilers. This ensure the build is reproducible and portable.
#
# Before adding a new system dependency, consider the following:
#
# 1. Please read the note on dependencies in pins_infra_deps.bzl.
#
# 2. Can the dependency be avoided altogether? Consider that there is a
# non-trival cost to maintaining dependencies over time.
#
# 3. Can the dependency be built with Bazel instead?
# - For many libraries, there are existing Bazel BUILD files. Try a quick
# Google search.
# - If there is no existing BUILD file, can you write your own BUILD file?
# See the bazel/ folder for examples. Ideally, we strive to upstream such
# BUILD files so everyone can benefit and share the maintenance burden.
# - If it's too hard to write a native BUILD file, try writing a BUILD file
# using rules_foreign_cc (https://github.com/bazelbuild/rules_foreign_cc).
#. See the bazel/ folder for examples.
# TODO: Avoid system dependencies like libnl, currently these are
# coming because Sonic swss common depends on them.
sudo apt-get update
sudo apt-get install \
bison \
flex \
libfl-dev \
libgmp-dev \
libhiredis-dev \
libnl-3-dev \
libnl-genl-3-dev \
libnl-route-3-dev \
libnl-nf-3-dev \
libboost-dev \
libboost-serialization-dev \
libyang-dev \
libzmq3-dev \
uuid-dev \
nlohmann-json3-dev