ldd с 32-битными двоичными файлами на 64-битной системе — запускается, но не выдает отчет

ldd с 32-битными двоичными файлами на 64-битной системе — запускается, но не выдает отчет

Мои линкеры в

/lib{32,64}/ld-2.20.so, с символическими ссылками на

/lib32/ld-linux.so.2и

/lib64/ld-linux-x86-64.so.2(к соответствующим ld-2.20.soс)

Когда я пытаюсь запустить 32-битный двоичный файл, все хорошо. Они отлично компилируются (я использую слегка измененный specsфайл gcc) и, по-видимому, отлично линкуются и отлично работают.

Когда я пытаюсь ldd /path/to/example/32bit/binary, мне говорят not a dynamic executable. Насколько я понимаю, это происходит из-за невозможности найти компоновщик для открытия исполняемого файла.

readelf -l example_binary | grep interpreterдает [Requesting program interpreter: /lib32/ld-linux.so.2], как и ожидалось.

Есть идеи, почему это происходит/как это исправить?

Ps - "Установить библиотеки совместимости с 32-битной версией с помощью sudo apt get ... " не помогло, так как нет apt/pacman/etcetera. Если мне нужно переустановить определенную (32-битную) библиотеку, то знание этого было бы полезно!

Pps - Файлы скриптов, установленные в gccгруппе /usr/lib{32,64}/libc.soсоответствующих (реальных) файлов libc.so.6и libc_nonshared.a, AS_NEEDED ( /lib32/ld-linux.so.2 ) )в конце для lib32

решение1

Оказывается, это довольно просто.

/usr/bin/lddэто всего лишь файл сценария.

При открытии файла скрипта в верхней части отображается строка, которая изначально выглядит так (в моей системе):

RTLDLIST="/lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2 /libx32/ld-linux-x32.so.2".

Изменение этой строки RTLDLIST="/lib32/ld-linux.so.2 /lib64/..."немедленно устранило проблему.

P.S. (добавляю сюда на случай, если это поможет кому-то еще, кто пытается установить gobject-introspection) Решение также полезно при попытке установить gobject-introspection, потому что оно вызывает lddбиблиотеки разрешения.

Сообщение об ошибке, которое я получил, было следующим:ERROR: can't resolve libraries to shared libraries: gobject-2.0, glib-2.0

Связанный контент