Skip to content

Commit a6779d8

Browse files
authored
[DEVCONTAINER] fix grpc install (open-telemetry#3325)
1 parent 6e214c8 commit a6779d8

File tree

4 files changed

+32
-3
lines changed

4 files changed

+32
-3
lines changed

.devcontainer/Dockerfile.dev

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ RUN cd /opt/ci && bash setup_ci_environment.sh
3030
RUN cd /opt && bash ci/setup_googletest.sh \
3131
&& bash ci/install_abseil.sh \
3232
&& bash ci/install_protobuf.sh \
33-
&& bash ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil
33+
&& bash ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
3434

3535
ADD https://github.com/bazelbuild/bazelisk/releases/download/v1.22.1/bazelisk-linux-amd64 /usr/local/bin
3636

ci/install_abseil.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ ABSEIL_CPP_BUILD_OPTIONS=(
2121
)
2222

2323
if [ ! -z "${CXX_STANDARD}" ]; then
24-
ABSEIL_CPP_BUILD_OPTIONS=(${ABSEIL_CPP_BUILD_OPTIONS[@]} "-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
24+
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
25+
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON")
26+
ABSEIL_CPP_BUILD_OPTIONS+=("-DCMAKE_CXX_EXTENSIONS=OFF")
2527
fi
2628

2729
#
@@ -59,6 +61,9 @@ else
5961
echo "Not patching abseil"
6062
fi
6163

64+
echo "Building abseil ${ABSEIL_CPP_VERSION}"
65+
echo "CMake build options:" "${ABSEIL_CPP_BUILD_OPTIONS[@]}"
66+
6267
mkdir build && pushd build
6368
cmake "${ABSEIL_CPP_BUILD_OPTIONS[@]}" ..
6469
make -j $(nproc)

ci/install_protobuf.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ CPP_PROTOBUF_BUILD_OPTIONS=(
3838
)
3939

4040
if [ ! -z "${CXX_STANDARD}" ]; then
41-
CPP_PROTOBUF_BUILD_OPTIONS=(${CPP_PROTOBUF_BUILD_OPTIONS[@]} "-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
41+
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD=${CXX_STANDARD}")
42+
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON")
43+
CPP_PROTOBUF_BUILD_OPTIONS+=("-DCMAKE_CXX_EXTENSIONS=OFF")
4244
fi
4345

4446
# After protobuf 22/4.22, protobuf depends on absl and we can use
@@ -59,6 +61,9 @@ cd /tmp
5961
wget https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/${CPP_PROTOBUF_PACKAGE_NAME}.tar.gz
6062
tar zxf ${CPP_PROTOBUF_PACKAGE_NAME}.tar.gz --no-same-owner
6163

64+
echo "Building protobuf ${CPP_PROTOBUF_VERSION}"
65+
echo "CMake build options:" "${CPP_PROTOBUF_BUILD_OPTIONS[@]}"
66+
6267
mkdir protobuf-${CPP_PROTOBUF_VERSION}/build && pushd protobuf-${CPP_PROTOBUF_VERSION}/build
6368
if [ -e "../CMakeLists.txt" ]; then
6469
cmake .. "${CPP_PROTOBUF_BUILD_OPTIONS[@]}"

ci/setup_grpc.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ while getopts ":v:hi:mp:r:s:TH" o; do
5050
elif [ "${OPTARG}" == "abseil-cpp" ]; then
5151
GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} "-DgRPC_ABSL_PROVIDER=package")
5252
build_internal_abseil_cpp=0
53+
else
54+
usage
55+
exit 1;
5356
fi
5457
;;
5558
r)
@@ -101,6 +104,9 @@ if [[ $build_internal_abseil_cpp -ne 0 ]]; then
101104

102105
ABSEIL_CPP_BUILD_OPTIONS=(
103106
-DCMAKE_BUILD_TYPE=Release
107+
-DCMAKE_CXX_STANDARD=${std_version}
108+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
109+
-DCMAKE_CXX_EXTENSIONS=OFF
104110
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
105111
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
106112
)
@@ -116,14 +122,27 @@ GRPC_BUILD_OPTIONS=(
116122
${GRPC_BUILD_OPTIONS[@]}
117123
-DgRPC_INSTALL=ON
118124
-DCMAKE_CXX_STANDARD=${std_version}
125+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
126+
-DCMAKE_CXX_EXTENSIONS=OFF
119127
-DgRPC_BUILD_TESTS=OFF
128+
-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON
129+
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF
130+
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
131+
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
132+
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
133+
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
134+
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
135+
-DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=OFF
120136
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
121137
-DCMAKE_PREFIX_PATH=$INSTALL_DIR
122138
)
123139
if [ ! -z "$build_shared_libs" ]; then
124140
GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} "-DBUILD_SHARED_LIBS=$build_shared_libs")
125141
fi
126142

143+
echo "Building gRPC ${install_grpc_version}"
144+
echo "CMake build options:" "${GRPC_BUILD_OPTIONS[@]}"
145+
127146
cmake "${GRPC_BUILD_OPTIONS[@]}" ..
128147
cmake --build . -j$(nproc)
129148
cmake --install .

0 commit comments

Comments
 (0)