|
|
|
@ -55,7 +55,10 @@ sudo apt-get install -y \ |
|
|
|
|
libc6 \ |
|
|
|
|
libc6-dbg \ |
|
|
|
|
libc6-dev \ |
|
|
|
|
libcurl4-openssl-dev \ |
|
|
|
|
libgtest-dev \ |
|
|
|
|
libreadline-dev \ |
|
|
|
|
libssl-dev \ |
|
|
|
|
libtool \ |
|
|
|
|
make \ |
|
|
|
|
strace \ |
|
|
|
@ -71,7 +74,8 @@ sudo apt-get install -y \ |
|
|
|
|
telnet \ |
|
|
|
|
unzip \ |
|
|
|
|
wget \ |
|
|
|
|
zip |
|
|
|
|
zip \ |
|
|
|
|
zlib1g-dev |
|
|
|
|
|
|
|
|
|
# perftools |
|
|
|
|
sudo apt-get install -y google-perftools libgoogle-perftools-dev |
|
|
|
@ -87,14 +91,15 @@ sudo pip install tabulate |
|
|
|
|
sudo pip install google-api-python-client |
|
|
|
|
sudo pip install virtualenv |
|
|
|
|
|
|
|
|
|
# TODO(jtattermusch): For some reason, building gRPC Python depends on python3.4 |
|
|
|
|
# being installed, but python3.4 is not available on Ubuntu 16.04. |
|
|
|
|
# Temporarily fixing this by adding a PPA with python3.4, but we should |
|
|
|
|
# really remove this hack once possible. |
|
|
|
|
sudo add-apt-repository -y ppa:fkrull/deadsnakes |
|
|
|
|
sudo apt-get update |
|
|
|
|
sudo apt-get install -y python3.4 python3.4-dev |
|
|
|
|
python3.4 -m pip install virtualenv |
|
|
|
|
# Building gRPC Python depends on python3.4 being installed, but python3.4 |
|
|
|
|
# is not available on Ubuntu 16.10, so install from source |
|
|
|
|
curl -O https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tgz |
|
|
|
|
tar xzvf Python-3.4.6.tgz |
|
|
|
|
cd Python-3.4.6 |
|
|
|
|
./configure --enable-shared --prefix=/usr/local LDFLAGS="-Wl,--rpath=/usr/local/lib" |
|
|
|
|
sudo make altinstall |
|
|
|
|
cd .. |
|
|
|
|
rm Python-3.4.6.tgz |
|
|
|
|
|
|
|
|
|
curl -O https://bootstrap.pypa.io/get-pip.py |
|
|
|
|
sudo pypy get-pip.py |
|
|
|
@ -117,18 +122,25 @@ sudo apt-get update |
|
|
|
|
sudo apt-get install -y mono-devel nuget |
|
|
|
|
|
|
|
|
|
# C# .NET Core dependencies (https://www.microsoft.com/net/core#ubuntu) |
|
|
|
|
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list' |
|
|
|
|
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' |
|
|
|
|
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 |
|
|
|
|
sudo apt-get update |
|
|
|
|
sudo apt-get install -y dotnet-dev-1.0.0-preview2-003131 |
|
|
|
|
sudo apt-get install -y dotnet-dev-1.0.0-preview2.1-003155 |
|
|
|
|
sudo apt-get install -y dotnet-dev-1.0.1 |
|
|
|
|
|
|
|
|
|
# Ruby dependencies |
|
|
|
|
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 |
|
|
|
|
curl -sSL https://get.rvm.io | bash -s stable --ruby |
|
|
|
|
git clone https://github.com/rbenv/rbenv.git ~/.rbenv |
|
|
|
|
export PATH="$HOME/.rbenv/bin:$PATH" |
|
|
|
|
eval "$(rbenv init -)" |
|
|
|
|
|
|
|
|
|
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build |
|
|
|
|
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH" |
|
|
|
|
|
|
|
|
|
rbenv install 2.4.0 |
|
|
|
|
rbenv global 2.4.0 |
|
|
|
|
ruby -v |
|
|
|
|
|
|
|
|
|
# Install bundler (prerequisite for gRPC Ruby) |
|
|
|
|
source ~/.rvm/scripts/rvm |
|
|
|
|
gem install bundler |
|
|
|
|
|
|
|
|
|
# Java dependencies - nothing as we already have Java JDK 8 |
|
|
|
@ -163,15 +175,7 @@ echo 4096 | sudo tee /proc/sys/kernel/perf_event_mlock_kb |
|
|
|
|
git clone -v https://github.com/brendangregg/FlameGraph ~/FlameGraph |
|
|
|
|
|
|
|
|
|
# Install scipy and numpy for benchmarking scripts |
|
|
|
|
sudo apt-get install python-scipy python-numpy |
|
|
|
|
|
|
|
|
|
# Update Linux kernel to 4.9 |
|
|
|
|
wget \ |
|
|
|
|
kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.20/linux-headers-4.9.20-040920_4.9.20-040920.201703310531_all.deb \ |
|
|
|
|
kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.20/linux-headers-4.9.20-040920-generic_4.9.20-040920.201703310531_amd64.deb \ |
|
|
|
|
kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.20/linux-image-4.9.20-040920-generic_4.9.20-040920.201703310531_amd64.deb |
|
|
|
|
sudo dpkg -i linux-headers-4.9*.deb linux-image-4.9*.deb |
|
|
|
|
rm linux-* |
|
|
|
|
sudo apt-get install -y python-scipy python-numpy |
|
|
|
|
|
|
|
|
|
# Add pubkey of jenkins@grpc-jenkins-master to authorized keys of jenkins@ |
|
|
|
|
# This needs to happen as the last step to prevent Jenkins master from connecting |
|
|
|
|