Prerequisites

XDS is written in Go and currently only build on Linux host has been validated.

So to build XDS binaries you need to install first Go version 1.8.1 or higher and some other tools. To build xds-server and xds-agent you also need to install in addition nodejs and python3 tools.

Ubuntu:

# Install various tools
sudo apt-get install git make npm curl git zip unzip wget

# Install Go
source /etc/os-release
wget -O - "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x52B59B1571A79DBC054901C0F6BC817356A3D45E" | sudo apt-key add -
sudo bash -c "cat >> /etc/apt/sources.list.d/golang.list <<EOF
deb http://ppa.launchpad.net/longsleep/golang-backports/ubuntu ${VERSION_CODENAME} main
EOF"
sudo apt-get update
sudo apt-get install golang-go

# Install python3
sudo apt-get install python3

openSUSE:

# Install various tools
sudo zypper install git make npm curl zip unzip

# Install Go
# ( the value 'DISTRO' can be set to {openSUSE_Leap_42.2, openSUSE_Leap_42.3, openSUSE_Tumbleweed} )
source /etc/os-release; export DISTRO="openSUSE_Leap_$VERSION"
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/go/${DISTRO}/devel:languages:go.repo
sudo zypper --gpg-auto-import-keys ref
sudo zypper install go1.9

# Install python3
sudo zypper install python3

Don’t forget to open new user session after installing these packages.

All Linux distro:

# Install nodejs LTS version (only mandatory for xds-server and xds-agent)
sudo npm install --global n
sudo n lts

Angular developers that’s plan to modify XDS Dashboard webapp (part of xds-agent repo) may also need angular cli tool named ng :

# Install angular cli tool (ng)
sudo npm install --global n @angular/cli