LINUX.ORG.RU

[проприетарщина][бинарники]

 ,


0

0

Кто нибудь сталкивался с такой фигней: есть знаменитый CrytoPro версии 3.6 под 64 бита, на сусе бинарники выполняются, а на моем любибмом арче любая попытка запустить их приводит к сообщению "Нет такого файла или каталога", причем файлы есть (вот же они, блин, в каталоге лежат, внутри файлов байтики). ldd выдает такое же сообщение. Я понимаю если бы была ошибка про неправильный формат исполнимого файла, а что это за бред?

anonymous

Посмотреть вывод ldd <that executable name> стоит, и узнать, каких библиотек из списка нету.

anonymous
()
Ответ на: комментарий от Komintern

>file ./binary что говорит? % file ./cpverify ./cpverify: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

>Посмотреть вывод ldd <that executable name> стоит, и узнать, каких библиотек из списка нету.

% ldd ./cpverify /usr/bin/ldd: line 116: ./cpverify: Нет такого файла или каталога

Вот такой вот бред...

anonymous
()
Ответ на: комментарий от Komintern

>file ./binary что говорит? % file ./cpverify

./cpverify: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

>Посмотреть вывод ldd <that executable name> стоит, и узнать, каких библиотек из списка нету.

% ldd ./cpverify /usr/bin/ldd: line 116: ./cpverify: Нет такого файла или каталога

Вот такой вот бред...

anonymous
()

Наверняка не может найти ld-linux-x86_64.so.2. Попробуй запустить так:

/lib64/ld-linux-x86_64.so.2 cpverify

ну или где там у тебя этот ld-linux лежит.

Jini ★★
()
Ответ на: комментарий от Jini

>Наверняка не может найти ld-linux-x86_64.so.2.

Точно! Спасибо большое. Запустил как /lib/ld-linux-x86_64.so.2 cpverify. А вообще странно, библиотека лежит в /lib, почему она не используется. И от чего такой дурацкий эффект "Нет такого файла или каталога", дистр 64 бита, все остальное работает нормально.

anonymous
()
Ответ на: комментарий от anonymous

Путь к этому файлу прописан непосредственно в бинарнике --- в этом можно убедиться, натравив на него strings или readelf -l. Это линкер, именно он находит библиотеки, которые надо подгрузить чтобы собрать программу в одно целое. Однако я согласен, следовало бы в этом конкретном случае выводить более осмысленное сообщение.

Jini ★★
()
Ответ на: комментарий от Jini

Ух, точно, вот она что искала:
[Requesting program interpreter: /lib64/ld-lsb-x86-64.so.3]
Арч не LSB совместимый же, а версия этого криптопро как раз под lsb.

anonymous
()
Ответ на: комментарий от anonymous

В таких случаях выяснить что же всё-таки не нашлось очень помогает strace -f <progname> 2>&1|grep open

gena2x ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.