sgerrand / alpine-pkg-glibc

A glibc compatibility layer package for Alpine Linux
2.05k stars 280 forks source link

2.23-r0 Executing glibc-bin-2.30-r0.trigger error #119

Open elvizlai opened 5 years ago

elvizlai commented 5 years ago
/usr/glibc-compat/sbin/ldconfig: /usr/glibc-compat/lib/ld-linux-x86-64.so.2 is not a symbolic link

Dockerfile

FROM alpine

# build and runtime essential
ENV LANG=C.UTF-8

# Here we install GNU libc (aka glibc) and set C.UTF-8 locale as default.
RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
    && ALPINE_GLIBC_PACKAGE_VERSION="2.30-r0" \
    && ALPINE_GLIBC_BASE_URL="https://github.com/sgerrand/alpine-pkg-glibc/releases/download" \
    && ALPINE_GLIBC_BASE_PACKAGE_FILENAME="glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
    && ALPINE_GLIBC_BIN_PACKAGE_FILENAME="glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
    && ALPINE_GLIBC_I18N_PACKAGE_FILENAME="glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk" \
    && wget \
    "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_BASE_URL/$ALPINE_GLIBC_PACKAGE_VERSION/$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
    && apk add --no-cache \
    "$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
    && /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8 \
    && apk del glibc-i18n \
    && rm -rf "/etc/apk/keys/sgerrand.rsa.pub" \
    "$ALPINE_GLIBC_BASE_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_BIN_PACKAGE_FILENAME" \
    "$ALPINE_GLIBC_I18N_PACKAGE_FILENAME" \
    /var/cache/apk/*
ricristian commented 4 years ago

Same error here. Is there anyone who solved this ?

kthy commented 4 years ago

I'm seeing the same error on Alpine 3.11 after installing the 2.31-r0 apk.

My /usr/glibc-compat/lib/ contains ld-2.31.so and ld-linux-x86-64.so.2 which are identical:

alpine311:/usr/glibc-compat/lib$ cmp -l ld-2.31.so ld-linux-x86-64.so.2
alpine311:/usr/glibc-compat/lib$ echo $?
0

so I just baleeted the latter and made it a symlink:

alpine311:~$ cd /usr/glibc-compat/lib/ \
  && sudo rm ld-linux-x86-64.so.2 \
  && sudo ln -s ld-2.31.so ld-linux-x86-64.so.2

This seems to resolve the issue.

nadavwr commented 4 years ago

I nominate @kthy for best use of "baleeted" in a GitHub issue

killuazhu commented 4 years ago

Learned some neat trick today can combine @kthy 's fix into one command.

$ sudo ln -svf ld-2.31.so /usr/glibc-compat/lib/ld-linux-x86-64.so.2