fix: use musl sysroot headers and pin cross base images (#15449)

This commit is contained in:
Hengfei Yang
2026-10-16 08:41:22 +00:00
committed by GitHub
parent abdeedb89a
commit 03f5af3da3
4 changed files with 24 additions and 14 deletions
+6 -4
View File
@@ -1,5 +1,7 @@
[target.aarch64-unknown-linux-musl]
dockerfile = "cross/Dockerfile.ent.musl"
[target.aarch64-unknown-linux-musl.dockerfile]
file = "cross/Dockerfile.ent.musl"
build-args = { MUSL_BASE_IMAGE = "ghcr.io/cross-rs/aarch64-unknown-linux-musl@sha256:4c29b5c7d0baf7d069dc48f0187f02c35e7a9df6f0f6a2b528400c6addb6a0cb" }
[target.x86_64-unknown-linux-musl]
dockerfile = "cross/Dockerfile.ent.musl"
[target.x86_64-unknown-linux-musl.dockerfile]
file = "cross/Dockerfile.ent.musl"
build-args = { MUSL_BASE_IMAGE = "ghcr.io/cross-rs/x86_64-unknown-linux-musl@sha256:0e3f9c34e663a9985ea26f569ec1f886334ce805dd6c7d72177e52f7b324ecac" }
+6 -4
View File
@@ -1,5 +1,7 @@
[target.aarch64-unknown-linux-musl]
dockerfile = "cross/Dockerfile.oss.musl"
[target.aarch64-unknown-linux-musl.dockerfile]
file = "cross/Dockerfile.oss.musl"
build-args = { MUSL_BASE_IMAGE = "ghcr.io/cross-rs/aarch64-unknown-linux-musl@sha256:4c29b5c7d0baf7d069dc48f0187f02c35e7a9df6f0f6a2b528400c6addb6a0cb" }
[target.x86_64-unknown-linux-musl]
dockerfile = "cross/Dockerfile.oss.musl"
[target.x86_64-unknown-linux-musl.dockerfile]
file = "cross/Dockerfile.oss.musl"
build-args = { MUSL_BASE_IMAGE = "ghcr.io/cross-rs/x86_64-unknown-linux-musl@sha256:0e3f9c34e663a9985ea26f569ec1f886334ce805dd6c7d72177e52f7b324ecac" }
+6 -3
View File
@@ -1,5 +1,5 @@
ARG CROSS_BASE_IMAGE
FROM $CROSS_BASE_IMAGE
ARG MUSL_BASE_IMAGE
FROM $MUSL_BASE_IMAGE
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --option=Dpkg::Options::=--force-confnew \
@@ -11,4 +11,7 @@ RUN cp protoc/bin/protoc /usr/local/bin/
RUN cp -r protoc/include/google /usr/local/include/
COPY --from=ent ./ /home/runner/work/o2-enterprise/o2-enterprise/o2-enterprise
RUN ln -s /usr/include/boost/ "/usr/local/${CROSS_CMAKE_SYSTEM_PROCESSOR}-linux-musl/include/"
RUN test -n "${CROSS_SYSROOT:?CROSS_SYSROOT must be set by the base image}" && \
{ test -d "${CROSS_SYSROOT%/}/usr/include" || \
{ echo "Missing compiler include directory: ${CROSS_SYSROOT%/}/usr/include" >&2; exit 1; }; } && \
ln -s /usr/include/boost "${CROSS_SYSROOT%/}/usr/include/boost"
+6 -3
View File
@@ -1,5 +1,5 @@
ARG CROSS_BASE_IMAGE
FROM $CROSS_BASE_IMAGE
ARG MUSL_BASE_IMAGE
FROM $MUSL_BASE_IMAGE
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --option=Dpkg::Options::=--force-confnew \
@@ -10,4 +10,7 @@ RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/pr
cp protoc/bin/protoc /usr/local/bin/ && \
cp -r protoc/include/google /usr/local/include/
RUN ln -s /usr/include/boost/ "/usr/local/${CROSS_CMAKE_SYSTEM_PROCESSOR}-linux-musl/include/"
RUN test -n "${CROSS_SYSROOT:?CROSS_SYSROOT must be set by the base image}" && \
{ test -d "${CROSS_SYSROOT%/}/usr/include" || \
{ echo "Missing compiler include directory: ${CROSS_SYSROOT%/}/usr/include" >&2; exit 1; }; } && \
ln -s /usr/include/boost "${CROSS_SYSROOT%/}/usr/include/boost"