Skip to content

Commit 8227888

Browse files
authored
fix OpenTelemtry image build (#10888)
* fix OpenTelemtry image build * use fpic
1 parent 2563740 commit 8227888

File tree

3 files changed

+65
-8
lines changed

3 files changed

+65
-8
lines changed

images/opentelemetry/rootfs/CMakeLists.txt

+63-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ project(
2424
set(CMAKE_CXX_STANDARD 17)
2525
set(CMAKE_CXX_EXTENSIONS OFF)
2626
set(CMAKE_CXX_STANDARD_REQUIRED ON)
27-
set(CMAKE_CXX_FLAGS "-O2")
27+
set(CMAKE_CXX_FLAGS "-O2 -fpic")
2828
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
2929

3030
set(CMAKE_BUILD_TYPE
@@ -69,8 +69,49 @@ set(GRPC_GIT_TAG
6969
CACHE STRING "gRPC version")
7070

7171
include(ExternalProject)
72+
set(ABSEIL_GIT_TAG "20230802.1" CACHE STRING "Abseil version")
73+
74+
ExternalProject_Add(
75+
Abseil
76+
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
77+
GIT_TAG ${ABSEIL_GIT_TAG}
78+
GIT_SHALLOW 1
79+
UPDATE_COMMAND ""
80+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
81+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
82+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
83+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
84+
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
85+
USES_TERMINAL_BUILD TRUE
86+
DOWNLOAD_NO_PROGRESS TRUE
87+
LOG_CONFIGURE TRUE
88+
LOG_BUILD TRUE
89+
LOG_INSTALL TRUE)
90+
91+
# RE2 settings
92+
set(RE2_GIT_TAG "2023-11-01" CACHE STRING "RE2 version")
93+
94+
ExternalProject_Add(
95+
RE2
96+
DEPENDS Abseil
97+
GIT_REPOSITORY https://github.com/google/re2.git
98+
GIT_TAG ${RE2_GIT_TAG}
99+
GIT_SHALLOW 1
100+
UPDATE_COMMAND ""
101+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
102+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
103+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
104+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
105+
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
106+
USES_TERMINAL_BUILD TRUE
107+
DOWNLOAD_NO_PROGRESS TRUE
108+
LOG_CONFIGURE TRUE
109+
LOG_BUILD TRUE
110+
LOG_INSTALL TRUE)
111+
72112
ExternalProject_Add(
73113
gRPC
114+
DEPENDS Abseil RE2
74115
GIT_REPOSITORY https://github.com/grpc/grpc.git
75116
GIT_TAG ${GRPC_GIT_TAG}
76117
GIT_SHALLOW 1
@@ -79,6 +120,8 @@ ExternalProject_Add(
79120
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
80121
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
81122
-DgRPC_SSL_PROVIDER=package
123+
-DgRPC_RE2_PROVIDER=package
124+
-DgRPC_ABSEIL_PROVIDER=package
82125
-DOPENSSL_ROOT_DIR=OpenSSL
83126
-DgRPC_BUILD_TESTS=OFF
84127
-DBUILD_SHARED_LIBS=OFF
@@ -88,7 +131,25 @@ ExternalProject_Add(
88131
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
89132
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
90133
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
91-
CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
134+
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
135+
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
136+
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
137+
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
138+
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
139+
-DgRPC_USE_PROTO_LITE=OFF
140+
-DgRPC_BUILD_CSHARP_EXT=OFF
141+
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF
142+
-DgRPC_BUILD_GRPC_JAVA_PLUGIN=OFF
143+
-DgRPC_BUILD_GRPC_GRPC_JAVA_PLUGIN=OFF
144+
-DgRPC_BUILD_GRPC_WEB_PLUGIN=OFF
145+
-DgRPC_BUILD_GRPC_C_PLUGIN=OFF
146+
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
147+
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
148+
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
149+
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
150+
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
151+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
152+
CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
92153
TEST_AFTER_INSTALL FALSE
93154
USES_TERMINAL_BUILD TRUE
94155
DOWNLOAD_NO_PROGRESS TRUE

images/opentelemetry/rootfs/Dockerfile

+1-5
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,12 @@ ENV NINJA_STATUS "[%p/%f/%t] "
2828

2929
# install gRPC
3030
FROM base as grpc
31-
RUN bash /opt/third_party/build.sh -g v1.57.0
31+
RUN bash /opt/third_party/build.sh -g v1.60.0
3232

33-
# install abseil-cpp
34-
FROM base as absl-cpp
35-
RUN bash /opt/third_party/build.sh -a 20230802.0
3633

3734
# install OpenTelemetry-cpp
3835
FROM base as otel-cpp
3936
COPY --from=grpc /opt/third_party/install/ /usr
40-
COPY --from=absl-cpp /opt/third_party/install/ /usr
4137
RUN bash /opt/third_party/build.sh -o v1.11.0
4238

4339
# install otel_ngx_module.so

images/opentelemetry/rootfs/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ get_src()
148148

149149
install_nginx()
150150
{
151-
export NGINX_VERSION=1.21.6
151+
export NGINX_VERSION=1.25.3
152152

153153
# Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp-contrib/compare/2656a4...main
154154
export OPENTELEMETRY_CONTRIB_COMMIT=aaa51e2297bcb34297f3c7aa44fa790497d2f7f3

0 commit comments

Comments
 (0)