Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.35-r0: glibc compatibility regression due to removal of /lib64 #181

Open
thotypous opened this issue Jun 4, 2022 · 5 comments
Open

2.35-r0: glibc compatibility regression due to removal of /lib64 #181

thotypous opened this issue Jun 4, 2022 · 5 comments
Labels

Comments

@thotypous
Copy link

Programs which used to run normally with the 2.34-r0 release are broken after ddfe092.

I'm not sure how this could be fixed, since abuild now fails if the package contains /lib64 (otherwise you would not have removed it in ddfe092, of course)

>>> ERROR: glibc*: Packages must not put anything under /lib64, use /lib instead
>>> ERROR: glibc*: prepare_subpackages failed

but restoring the link from /usr/glibc-compat/lib/ld-linux-x86-64.so.2 to /lib64/ld-linux-x86-64.so.2 fixes the issue.

Please see some examples below:

/ # apk add dell-cctk
(1/2) Installing glibc (2.35-r0)
(2/2) Installing dell-cctk (2.2.1.142-r0)
Executing busybox-1.34.1-r5.trigger
OK: 16 MiB in 21 packages
/ # cctk
/usr/bin/cctk: exec: line 2: /opt/dell/toolkit/bin/cctk: not found
/ # mkdir -p /lib64
/ # ln -s /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
/ # cctk

Usage error.
[...]

and starting again from a fresh system in order to get more verbose error messages:

/ # apk add dell-cctk glibc-bin
(1/9) Installing glibc (2.35-r0)
(2/9) Installing dell-cctk (2.2.1.142-r0)
(3/9) Installing ncurses-terminfo-base (6.3_p20211120-r0)
(4/9) Installing ncurses-libs (6.3_p20211120-r0)
(5/9) Installing readline (8.1.1-r0)
(6/9) Installing bash (5.1.16-r0)
Executing bash-5.1.16-r0.post-install
(7/9) Installing libc6-compat (1.2.2-r7)
(8/9) Installing libgcc (10.3.1_git20211027-r0)
(9/9) Installing glibc-bin (2.35-r0)
Executing busybox-1.34.1-r5.trigger
Executing glibc-bin-2.35-r0.trigger
OK: 22 MiB in 28 packages
/ # cctk
Error relocating /opt/dell/srvadmin/lib64/libdchbas.so.7: __strdup: symbol not found
Error relocating /opt/dell/srvadmin/lib64/libdchbas.so.7: __strtod_internal: symbol not found
Error relocating /opt/dell/srvadmin/lib64/libdchbas.so.7: __strtok_r: symbol not found
/ # ls -l /lib64
total 0
lrwxrwxrwx    1 root     root            26 Jun  4 01:11 ld-linux-x86-64.so.2 -> /lib/libc.musl-x86_64.so.1
/ # ln -sf /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
/ # cctk

Usage error.
[...]
@prantlf
Copy link

prantlf commented Oct 23, 2022

The same as #175 and #176.

@sgerrand
Copy link
Owner

@thotypous: Would you please provide a minimal example Dockerfile which demonstrates the problem you're experiencing it. Without that I am unable to investigate this matter further.

@chadlwilson
Copy link

Similar reprod Dockerfile at #176 (comment)

@thotypous
Copy link
Author

thotypous commented Apr 14, 2023

@thotypous: Would you please provide a minimal example Dockerfile which demonstrates the problem you're experiencing it. Without that I am unable to investigate this matter further.

I'm not using Docker. I'm running Alpine on bare metal. This is the affected package: https://gist.github.com/thotypous/219170b3099c2694cfb4918f2e56fcb9

@sodul
Copy link

sodul commented May 4, 2023

For others, if this helps, we have updated our Dockerfile to recreate the missing symlink after installing the glibc package:

RUN set -eux; \
    version=2.35-r1; \
    wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub; \
    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${version}/glibc-${version}.apk; \
    apk add glibc-${version}.apk; \
    rm glibc-${version}.apk; \
    if [ ! -e /lib64/ld-linux-x86-64.so.2 ]; then \
        mkdir -p /lib64; \
        ln -s /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2; \
    fi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants