Closed groenator closed 6 years ago
try to do this script commands step by step ...
@groenator this is how I build
FROM ubuntu:16.04 AS glibc-compiler
ENV PREFIX_DIR /usr/glibc-compat
ENV GLIBC_VERSION 2.26
RUN apt-get -q update && \
apt-get -qy install build-essential wget openssl gawk
COPY configparams /glibc-build/configparams
RUN mkdir -p ${PREFIX_DIR}/etc && touch ${PREFIX_DIR}/etc/ld.so.conf
COPY builder /builder
RUN /builder || true
RUN sha512sum /glibc-bin-${GLIBC_VERSION}.tar.gz > /glibc-bin-${GLIBC_VERSION}.sha512sum
FROM alpine:latest AS glibc-alpine-builder
ENV GLIBC_VERSION 2.26
RUN apk --no-cache add alpine-sdk coreutils cmake libc6-compat \
&& adduser -G abuild -g "Alpine Package Builder" -s /bin/ash -D builder \
&& echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
&& mkdir /packages \
&& chown builder:abuild /packages
COPY /abuilder /bin/
USER builder
RUN mkdir /home/builder/package/
WORKDIR /home/builder/package/
COPY --from=glibc-compiler /glibc-bin-${GLIBC_VERSION}.tar.gz .
COPY --from=glibc-compiler /glibc-bin-${GLIBC_VERSION}.sha512sum .
COPY APKBUILD .
COPY glibc-bin.trigger .
COPY ld.so.conf .
COPY nsswitch.conf .
ENV REPODEST /packages
RUN abuild-keygen -an
RUN sed -i "s/<\${GLIBC_VERSION}-checksum>/$(cat glibc-bin-${GLIBC_VERSION}.sha512sum | awk '{print $1}')/" APKBUILD
RUN ["abuilder", "-r"]
FROM alpine:latest AS java-builder
COPY --from=glibc-alpine-builder /packages/builder/x86_64/glibc-${GLIBC_VERSION}-${GLIBC_RELEASE}.apk /tmp
COPY --from=glibc-alpine-builder /packages/builder/x86_64/glibc-bin-${GLIBC_VERSION}-${GLIBC_RELEASE}.apk /tmp
COPY --from=glibc-alpine-builder /packages/builder/x86_64/glibc-i18n-${GLIBC_VERSION}-${GLIBC_RELEASE}.apk /tmp
WORKDIR /tmp
RUN apk upgrade --no-cache && \
apk add --no-cache libstdc++ curl && \
apk add --allow-untrusted /tmp/*.apk
@groenator: It looks like the filesystem which you've downloaded glibc-2.26-r0.apk
to may not have had enough space or the download was interrupted.
I wrote this shell script and when I am trying to install glibc;
#!/bin/sh
GLIBC_VERSION=2.26-r0
ALPINE_URL=https://github.com/sgerrand/alpine-pkg-glibc/releases
LANG=C.UTF-8
apk upgrade --update
apk add --no-cache libstdc++ curl ca-certificates
for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION} glibc-i18n-${GLIBC_VERSION}; do curl -sSL ${ALPINE_URL}/${GLIBC_VERSION}/${pkg}.apk -o /tmp/${pkg}.apk; done
apk add --no-cache /tmp/*.apk
rm -v /tmp/*.apk
this error is prompting - what am I missing here? I am running ALPINE 3.6.
ERROR: /tmp/glibc-2.26-r0.apk: IO ERROR