Page MenuHomePhorge

D4630.1768869715.diff
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

D4630.1768869715.diff

diff --git a/services/base-image/Dockerfile b/services/base-image/Dockerfile
--- a/services/base-image/Dockerfile
+++ b/services/base-image/Dockerfile
@@ -11,6 +11,7 @@
pkg-config \
libboost-all-dev \
libfmt-dev \
+ libgflags-dev \
libgtest-dev \
libcurl4-openssl-dev \
libssl-dev \
@@ -29,6 +30,9 @@
COPY docker/install_glog.sh .
RUN ./install_glog.sh
+COPY docker/install_double.sh .
+RUN ./install_double.sh
+
COPY docker/install_folly.sh .
RUN ./install_folly.sh
diff --git a/services/base-image/docker/install_aws_sdk.sh b/services/base-image/docker/install_aws_sdk.sh
--- a/services/base-image/docker/install_aws_sdk.sh
+++ b/services/base-image/docker/install_aws_sdk.sh
@@ -4,12 +4,18 @@
cd /tmp
-git clone --recurse-submodules -b 1.9.176 --single-branch https://github.com/aws/aws-sdk-cpp
+git clone https://github.com/aws/aws-sdk-cpp \
+ --recurse-submodules \
+ -b 1.9.176 \
+ --single-branch
+
mkdir aws-sdk-cpp/build
pushd aws-sdk-cpp/build
-cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/local/aws_sdk -DBUILD_ONLY="core;s3;dynamodb"
-make
-make install
+cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_PREFIX_PATH=/usr/local/aws_sdk \
+ -DBUILD_ONLY="core;s3;dynamodb"
+make install -l "$(nproc)" -j "$(nproc)"
popd # aws-sdk-cpp/build
rm -rf aws-sdk-cpp
diff --git a/services/base-image/docker/install_double.sh b/services/base-image/docker/install_double.sh
new file mode 100755
--- /dev/null
+++ b/services/base-image/docker/install_double.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+pushd /usr/lib
+
+git clone https://github.com/google/double-conversion.git \
+ --branch v3.1.5 --single-branch
+pushd double-conversion
+cmake . -DBUILD_SHARED_LIBS=ON
+make install -l "$(nproc)" -j "$(nproc)"
+
+popd # double-conversion
+rm -r double-conversion
+
+popd
diff --git a/services/base-image/docker/install_folly.sh b/services/base-image/docker/install_folly.sh
--- a/services/base-image/docker/install_folly.sh
+++ b/services/base-image/docker/install_folly.sh
@@ -4,7 +4,14 @@
pushd /usr/lib
-git clone https://github.com/facebook/folly.git --branch v2020.01.13.00 --single-branch
-git clone https://github.com/google/double-conversion.git --branch v3.1.5 --single-branch
+git clone https://github.com/facebook/folly.git \
+ --branch v2020.01.13.00 \
+ --single-branch
+
+pushd folly
+cmake .
+make install -l "$(nproc)" -j "$(nproc)"
+popd # folly
+rm -r folly
popd # /usr/lib
diff --git a/services/base-image/docker/install_glog.sh b/services/base-image/docker/install_glog.sh
--- a/services/base-image/docker/install_glog.sh
+++ b/services/base-image/docker/install_glog.sh
@@ -4,4 +4,12 @@
pushd /usr/lib
git clone https://github.com/google/glog.git --branch v0.4.0 --single-branch
+
+pushd glog
+cmake . -DBUILD_TESTING=OFF
+make install -j "$(nproc)" -l "$(nproc)"
+popd # glog
+
+rm -rf glog
+
popd # /usr/lib
diff --git a/services/base-image/docker/install_grpc.sh b/services/base-image/docker/install_grpc.sh
--- a/services/base-image/docker/install_grpc.sh
+++ b/services/base-image/docker/install_grpc.sh
@@ -29,8 +29,7 @@
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \
../..
-make
-make install
+make install -j "$(nproc)" -l "$(nproc)"
popd # cmake/build
# Explicitly install abseil-cpp because of https://github.com/grpc/grpc/issues/25949
@@ -41,11 +40,23 @@
cmake \
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
../..
-make
-make install
+make install -j "$(nproc)" -l "$(nproc)"
popd # cmake/build
popd # third_party/abseil-cpp/
+# Explicitly install a more up-to-date version of `protobuf`, which
+# installs `protobuf-config.cmake`. The `libprotobuf-dev` Ubuntu package
+# only exports the `pkg-config` `protobuf.pc`. This is important because
+# the gRPC CMake configuration will attempt to find the `protobuf` CMake
+# configuration.
+pushd third_party/protobuf/
+mkdir -p _build
+pushd _build
+cmake ../cmake -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER=package
+make install -j "$(nproc)" -l "$(nproc)"
+popd # _build
+popd # third_party/protobuf/
+
popd # grpc
rm -rf grpc

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 12:41 AM (15 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5958785
Default Alt Text
D4630.1768869715.diff (4 KB)

Event Timeline