ldd начал показывать мне “не динамический исполняемый файл”

Я немного смущен, потому что я не понимаю, почему это происходит:
Последние изменения в системе, которую я помню, были

  • установленный g ++ 5 для старого проекта (удаленный уже)
  • склонный авточистый
  • удаленный ldconfig кэш (предполагают это, является причиной),

Теперь я не могу запустить некоторые приложения. Ldd говорит мне, что это - “не динамический исполняемый файл”

igor@Linbox:/lib/i386-linux-gnu$ ldd libssl.so.1.0.0 
    is not a dynamic executable

igor@Linbox:/lib/i386-linux-gnu$ ldd libselinux.so.1 
    is not a dynamic executable

igor@Linbox:/bin$ ldd dd 
    linux-vdso.so.1 =>  (0x00007fff0b380000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb618c76000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fb619269000)           

igor@Linbox:/lib/x86_64-linux-gnu$ ldd libc.so.6 
    /lib64/ld-linux-x86-64.so.2 (0x00007fcb44373000)
    linux-vdso.so.1 =>  (0x00007ffed8f33000)

Версия: Linux Linbox 4.13.0-46-универсальный # SMP с 51 Ubuntu вторник 12 июня 12:36:29 GNU/Linux UTC 2018 x86_64 x86_64 x86_64

Также я проверил, что это все еще присутствует:

// for running x32 applications on x64 system
sudo dpkg --add-architecture i386
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Так как удалено ld.so.cache Я сделал sudo ldconfig. Существует новый кэш в /etc/ld.so.cache

Я пропускаю некоторую библиотеку?

Добавленные проверки файла:

file /lib/i386-linux-gnu/libssl.so.1.0.0
/lib/i386-linux-gnu/libssl.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=c1e3854cb8b86f1006dc391d23f102ea1184cf25, stripped
file /lib/i386-linux-gnu/libselinux.so.1
/lib/i386-linux-gnu/libselinux.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=396cda857e41036061599a59c9f5fe62d7b50c4d, stripped
dpkg -S /lib/i386-linux-gnu/libssl.so.1.0.0
libssl1.0.0:i386: /lib/i386-linux-gnu/libssl.so.1.0.0
dpkg -S /lib/i386-linux-gnu/libselinux.so.1
libselinux1:i386: /lib/i386-linux-gnu/libselinux.so.1

Проверенный libx32 из комментариев:

igor@Linbox:/lib/i386-linux-gnu$ ls -l /libx32/ld*
-rwxr-xr-x 1 root root 155092 Jan 12  2018 /libx32/ld-2.26.so
lrwxrwxrwx 1 root root     10 Jan 12  2018 /libx32/ld-linux-x32.so.2 -> ld-2.26.so
2
задан 3 December 2018 в 00:27

2 ответа

Я решил проблему (спасибо к ubfan1) путем обновления ядра от 4.13.0-46-generic до 4.15.0-39-generic:

$ uname -a
Linux Linbox 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic

/lib/i386-linux-gnu$ ldd libselinux.so.1 
    linux-gate.so.1 (0xf7fca000)
    libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf7ee6000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7ee1000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7d05000)
    /lib/ld-linux.so.2 (0xf7fcc000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7ce6000)
0
ответ дан 2 December 2019 в 04:39

Ошибка 1616609, ldd отчеты неправильно "не динамический исполняемый файл", когда загрузчик исполняемого файла не присутствует, является, вероятно, причиной проблемы (как steeldriver предложенный). Переустановите libc6-x32 пакет для возвращения его. Действительно рассмотрите добавление себя к ошибке, возможно, это будет зафиксировано один день - патч даже предлагается.

1
ответ дан 2 December 2019 в 04:39

Другие вопросы по тегам:

Похожие вопросы: