LINUX.ORG.RU

История изменений

Исправление rtxtxtrx, (текущая версия) :

❯ ldd `which java`
        linux-vdso.so.1 (0x00007ffda65e4000)
        libjli.so => not found
        libc.so.6 => /usr/bin/../lib/libc.so.6 (0x00007d22f6afb000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007d22f6d1f000)
❯ ldd `which python`
        linux-vdso.so.1 (0x00007ffcdfde9000)
        libpython3.12.so.1.0 => /usr/lib/libpython3.12.so.1.0 (0x00007c2113e00000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007c2113c1c000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007c2113b31000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007c2114505000)

linux-vdso.so.1

Это часть ядра, вроде, такого файла не существует.

❯ yay -Fx libpython3.12.so.1.0
core/python 3.12.3-1 [installed]
    usr/lib/libpython3.12.so.1.0

Этот принадлежит самому питону.

❯ yay -Qo /usr/lib/libc.so.6 /usr/lib/libm.so.6 /usr/lib64/ld-linux-x86-64.so.2
/usr/lib/libc.so.6 is owned by glibc 2.39-4
/usr/lib/libm.so.6 is owned by glibc 2.39-4
/usr/lib/ld-linux-x86-64.so.2 is owned by glibc 2.39-4

Таким образом для питона нужна glibc. В Alpine ее заменяет musl.

Обои бинарники требуют musl/glibc. Еще уясни что бывают статические и динамические сборки: с потрохами и без. Я как бы намекаю, что статически собранный бинарник того же питона ничего не требует для запуска кроме того, чтобы он запускался в Linux.

Исходная версия rtxtxtrx, :

❯ ldd `which java`
        linux-vdso.so.1 (0x00007ffda65e4000)
        libjli.so => not found
        libc.so.6 => /usr/bin/../lib/libc.so.6 (0x00007d22f6afb000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007d22f6d1f000)
❯ ldd `which python`
        linux-vdso.so.1 (0x00007ffcdfde9000)
        libpython3.12.so.1.0 => /usr/lib/libpython3.12.so.1.0 (0x00007c2113e00000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007c2113c1c000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007c2113b31000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007c2114505000)

linux-vdso.so.1

Это часть ядра, вроде, такого файла не существуеь

❯ yay -Fx libpython3.12.so.1.0
core/python 3.12.3-1 [installed]
    usr/lib/libpython3.12.so.1.0

Этот принадлежит самому питону.

❯ yay -Qo /usr/lib/libc.so.6 /usr/lib/libm.so.6 /usr/lib64/ld-linux-x86-64.so.2
/usr/lib/libc.so.6 is owned by glibc 2.39-4
/usr/lib/libm.so.6 is owned by glibc 2.39-4
/usr/lib/ld-linux-x86-64.so.2 is owned by glibc 2.39-4

Таким образом для питона нужна glibc. В Alpine ее заменяет musl.