Build missing STS container libraries using original sources.

This commit is contained in:
slawek committed 2026-10-19 19:07:18 +02:00
1 parent 5bbb24d73f
commit e38e584984
4 files changed
+48 -10

No files matched your search

+2 -7
View File
@@ -1,9 +1,4 @@
FROM ubuntu:18.04 AS glibc
FROM gcr.io/cloud-ingest/tsop-agent:latest
# Shared glibc 2.27 libraries in the library directory of the GRTE v5 glibc 2.27 the launcher is statically linked with.
COPY --from=glibc /lib/x86_64-linux-gnu/libc-2.27.so /usr/grte/v5/lib64/libc.so.6
COPY --from=glibc /lib/x86_64-linux-gnu/libm-2.27.so /usr/grte/v5/lib64/libm.so.6
COPY --from=glibc /lib/x86_64-linux-gnu/libpthread-2.27.so /usr/grte/v5/lib64/libpthread.so.0
COPY --from=glibc /lib/x86_64-linux-gnu/ld-2.27.so /usr/grte/v5/lib64/ld-linux-x86-64.so.2
# GRTE v5 shared libraries built by build-grte.sh, matching the GRTE v5 glibc the launcher is statically linked with.
COPY grte/usr/grte/v5/lib64/ /usr/grte/v5/lib64/
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
set -euo pipefail
prefix=/usr/grte/v5
libdir="${prefix}/lib64"
# Install the build tools
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y -qq --no-install-recommends build-essential gawk bison python3 git texinfo ca-certificates > /dev/null
# Get the GRTE v5 source, Google's glibc 2.27
git clone --depth 1 https://third-party-mirror.googlesource.com/GRTEv5 /src
# Build the libraries in the library directory searched by the GRTE v5 loader
mkdir /build
cd /build
cat > configparms <<EOF
slibdir=${libdir}
rtlddir=${libdir}
EOF
/src/google3/third_party/grte/v5_src/glibc-2.27/configure \
--prefix="${prefix}" \
--libdir="${libdir}" \
--disable-werror \
--enable-kernel=3.2
make -j"$(nproc)"
make install DESTDIR=/out
ls -l "/out${libdir}/libc.so.6" "/out${libdir}/libm.so.6" "/out${libdir}/libpthread.so.0" "/out${libdir}/ld-linux-x86-64.so.2"