@@ -3,7 +3,7 @@ ARG BUILD_OS=debian
33FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.9.0 AS xx
44
55# ## Build base image for debian
6- FROM --platform=$BUILDPLATFORM debian:12 AS build-base-debian
6+ FROM --platform=$BUILDPLATFORM debian:13 AS build-base-debian
77
88RUN apt-get update \
99 && apt-get install --no-install-recommends --no-install-suggests -y \
@@ -13,7 +13,7 @@ RUN apt-get update \
1313 binutils-powerpc64le-linux-gnu \
1414 build-essential \
1515 ca-certificates \
16- clang-16 \
16+ clang \
1717 git \
1818 golang \
1919 libcurl4 \
@@ -25,13 +25,13 @@ RUN apt-get update \
2525 protobuf-compiler \
2626 wget
2727
28- RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 100 \
29- && update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 100
28+ # RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100 \
29+ # && update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
3030
3131COPY --from=xx / /
3232ARG TARGETPLATFORM
3333
34- RUN xx-apt install -y xx-cxx-essentials zlib1g-dev libcurl4-openssl-dev libc-ares-dev libre2-dev libssl-dev libc -dev libmsgpack-dev
34+ RUN xx-apt install -y xx-cxx-essentials zlib1g-dev libcurl4-openssl-dev libc-ares-dev libre2-dev libssl-dev libc6 -dev libmsgpack-cxx -dev
3535
3636
3737# ## Build base image for alpine
@@ -58,13 +58,13 @@ RUN xx-apk add --no-cache xx-cxx-essentials openssl-dev zlib-dev zlib libgcc cur
5858# ## Build image
5959FROM build-base-${BUILD_OS} AS build-base
6060
61- ENV CMAKE_VERSION=3.31.8
61+ ENV CMAKE_VERSION=3.31.10
6262RUN wget -q -O cmake-linux.sh "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$(arch).sh" \
6363 && sh cmake-linux.sh -- --skip-license --prefix=/usr \
6464 && rm cmake-linux.sh
6565
6666# XX_CC_PREFER_STATIC_LINKER prefers ld to lld in ppc64le and 386.
67- ENV XX_CC_PREFER_STATIC_LINKER=1
67+ # ENV XX_CC_PREFER_STATIC_LINKER=1
6868
6969
7070# # Build gRPC
@@ -105,6 +105,7 @@ RUN xx-info env && git clone --depth 1 -b $OPENTRACING_CPP_VERSION https://githu
105105 && cmake $(xx-clang --print-cmake-defines) \
106106 -DCMAKE_INSTALL_PREFIX=$(xx-info sysroot)usr/local \
107107 -DCMAKE_BUILD_TYPE=Release \
108+ -DCMAKE_CXX_STANDARD=17 \
108109 -DBUILD_SHARED_LIBS=ON \
109110 -DBUILD_STATIC_LIBS=ON \
110111 -DBUILD_MOCKTRACER=OFF \
@@ -129,6 +130,7 @@ RUN [ "$(xx-info vendor)" = "alpine" ] && export QEMU_LD_PREFIX=/$(xx-info); \
129130 -DBUILD_SHARED_LIBS=OFF \
130131 -DBUILD_STATIC_LIBS=OFF \
131132 -DCMAKE_BUILD_TYPE=Release \
133+ -DCMAKE_CXX_STANDARD=17 \
132134 -DBUILD_PLUGIN=ON \
133135 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
134136 -DBUILD_TESTING=OFF .. \
@@ -150,6 +152,7 @@ RUN xx-info env && git init yaml-cpp && cd yaml-cpp && \
150152 cmake $(xx-clang --print-cmake-defines) \
151153 -DBUILD_SHARED_LIBS=ON \
152154 -DCMAKE_BUILD_TYPE=Release \
155+ -DCMAKE_CXX_STANDARD=17 \
153156 -DYAML_CPP_BUILD_TESTS=OFF \
154157 -DYAML_CPP_BUILD_TOOLS=OFF \
155158 -DYAML_ENABLE_PIC=ON .. \
@@ -164,12 +167,17 @@ RUN git clone --depth 1 -b $JAEGER_CPP_VERSION https://github.com/jaegertracing/
164167 "set(CMAKE_ASM_COMPILER clang)" "set(PKG_CONFIG_EXECUTABLE $(xx-clang --print-prog-name=pkg-config))" \
165168 "set(CMAKE_C_COMPILER_TARGET $(xx-clang --print-target-triple))" "set(CMAKE_CXX_COMPILER_TARGET $(xx-clang++ --print-target-triple))" \
166169 "set(CMAKE_ASM_COMPILER_TARGET $(xx-clang --print-target-triple))" \
167- "set(CMAKE_INSTALL_PREFIX $(xx-info sysroot)usr/local)" >> cmake/toolchain.cmake \
170+ "set(CMAKE_INSTALL_PREFIX $(xx-info sysroot)usr/local)" \
171+ "set(CMAKE_EXE_LINKER_FLAGS \" -fuse-ld=lld\" )" "set(CMAKE_SHARED_LINKER_FLAGS \" -fuse-ld=lld\" )" "set(CMAKE_MODULE_LINKER_FLAGS \" -fuse-ld=lld\" )" >> cmake/toolchain.cmake \
168172 && mkdir .build \
169173 && cd .build \
170174 && cmake $(xx-clang --print-cmake-defines) \
171175 -DCMAKE_PREFIX_PATH=$(xx-info sysroot) \
172176 -DCMAKE_BUILD_TYPE=Release \
177+ -DCMAKE_CXX_STANDARD=17 \
178+ -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \
179+ -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \
180+ -DCMAKE_MODULE_LINKER_FLAGS="-fuse-ld=lld" \
173181 -DBUILD_SHARED_LIBS=OFF \
174182 -DBUILD_TESTING=OFF \
175183 -DJAEGERTRACING_BUILD_EXAMPLES=OFF \
@@ -199,7 +207,10 @@ RUN xx-info env && git clone --depth 1 -b $DATADOG_VERSION https://github.com/Da
199207 && cmake $(xx-clang --print-cmake-defines) \
200208 -DCMAKE_PREFIX_PATH=$(xx-info sysroot) \
201209 -DCMAKE_BUILD_TYPE=Release \
210+ -DCMAKE_CXX_STANDARD=17 \
202211 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
212+ -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \
213+ -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \
203214 -DBUILD_TESTING=OFF .. \
204215 && make -j$(nproc) install \
205216 && ln -s /usr/local/lib/libdd_opentracing.so /usr/local/lib/libdd_opentracing_plugin.so \
0 commit comments