@@ -33,11 +33,8 @@ RUN apt-get update && \
3333ENV DEBIAN_FRONTEND=noninteractive
3434RUN apt-get update && \
3535 apt-get --no-install-recommends install -y \
36- libabsl-dev \
37- libcurl4-openssl-dev \
38- libgrpc++-dev protobuf-compiler-grpc \
39- libprotobuf-dev protobuf-compiler \
40- nlohmann-json3-dev
36+ libssl-dev libcurl4-openssl-dev nlohmann-json3-dev zlib1g-dev \
37+ libsystemd-dev
4138# ```
4239
4340# #### Patching pkg-config
@@ -62,7 +59,9 @@ RUN curl -fsSL https://distfiles.ariadne.space/pkgconf/pkgconf-2.2.0.tar.gz | \
6259RUN ln -s /usr/bin/pkgconf /usr/bin/pkg-config
6360# ```
6461
65- # #### abseil
62+ # #### Abseil
63+
64+ # ```bash
6665WORKDIR /var/tmp/build/abseil-cpp
6766RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz | \
6867 tar -xzf - --strip-components=1 && \
@@ -71,16 +70,28 @@ RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.1.tar.gz |
7170 -DABSL_BUILD_TESTING=OFF \
7271 -DBUILD_SHARED_LIBS=yes \
7372 -S . -B cmake-out && \
74- cmake --build cmake-out -- -j ${NCPU:-4} && \
7573 cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
7674 ldconfig
75+ # ```
7776
78- # #### opentelemetry-cpp
77+ # #### Protobuf
78+
79+ # ```bash
80+ WORKDIR /var/tmp/build/protobuf
81+ RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \
82+ tar -xzf - --strip-components=1 && \
83+ cmake \
84+ -DCMAKE_BUILD_TYPE=Release \
85+ -DCMAKE_CXX_STANDARD=17 \
86+ -DBUILD_SHARED_LIBS=yes \
87+ -Dprotobuf_BUILD_TESTS=OFF \
88+ -Dprotobuf_ABSL_PROVIDER=package \
89+ -S . -B cmake-out && \
90+ cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
91+ ldconfig
92+ # ```
7993
80- # The project has an **optional** dependency on the OpenTelemetry library.
81- # We recommend installing this library because:
82- # - the dependency will become required in the google-cloud-cpp v3.x series.
83- # - it is needed to produce distributed traces of the library.
94+ # #### opentelemetry-cpp
8495
8596# ```bash
8697WORKDIR /var/tmp/build/opentelemetry-cpp
@@ -99,6 +110,59 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24
99110 ldconfig
100111# ```
101112
113+ # #### c-ares
114+
115+ # ```bash
116+ WORKDIR /var/tmp/build/c-ares
117+ RUN curl -fsSL https://github.com/c-ares/c-ares/archive/refs/tags/cares-1_17_1.tar.gz | \
118+ tar -xzf - --strip-components=1 && \
119+ cmake \
120+ -DCMAKE_BUILD_TYPE=Release \
121+ -DBUILD_SHARED_LIBS=yes \
122+ -S . -B cmake-out && \
123+ cmake --build cmake-out --target install && \
124+ ldconfig
125+ # ```
126+
127+ # #### RE2
128+
129+ # ```bash
130+ WORKDIR /var/tmp/build/re2
131+ RUN curl -fsSL https://github.com/google/re2/archive/2025-07-22.tar.gz | \
132+ tar -xzf - --strip-components=1 && \
133+ cmake -DCMAKE_BUILD_TYPE=Release \
134+ -DBUILD_SHARED_LIBS=ON \
135+ -DRE2_BUILD_TESTING=OFF \
136+ -S . -B cmake-out && \
137+ cmake --build cmake-out --target install && \
138+ ldconfig
139+ # ```
140+
141+ # #### gRPC
142+
143+ # ```bash
144+ WORKDIR /var/tmp/build/grpc
145+ RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.76.0.tar.gz | \
146+ tar -xzf - --strip-components=1 && \
147+ cmake \
148+ -DCMAKE_BUILD_TYPE=Release \
149+ -DCMAKE_CXX_STANDARD=17 \
150+ -DBUILD_SHARED_LIBS=ON \
151+ -DgRPC_INSTALL=ON \
152+ -DgRPC_BUILD_TESTS=OFF \
153+ -DgRPC_ABSL_PROVIDER=package \
154+ -DgRPC_CARES_PROVIDER=package \
155+ -DgRPC_PROTOBUF_PROVIDER=package \
156+ -DgRPC_RE2_PROVIDER=package \
157+ -DgRPC_SSL_PROVIDER=package \
158+ -DgRPC_ZLIB_PROVIDER=package \
159+ -DgRPC_OPENTELEMETRY_PROVIDER=package \
160+ -DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \
161+ -S . -B cmake-out && \
162+ cmake --build cmake-out --target install -- -j ${NCPU:-4} && \
163+ ldconfig
164+ # ```
165+
102166# # [DONE packaging.md]
103167
104168RUN apt-get update && \
@@ -113,3 +177,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca
113177
114178# Update the ld.conf cache in case any libraries were installed in /usr/local/lib*
115179RUN ldconfig /usr/local/lib*
180+
181+ ENV DEMO_CORD_WORKAROUND=OFF
0 commit comments