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.

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

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 nodejs LTS version (only mandatory for xds-server and xds-agent)
sudo npm install --global n @angular/cli
sudo n lts

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