Коли мова йде про виконання 32-бітного бінарного файлу на системі Ubuntu 20.04, можуть виникнути деякі труднощі, особливо на 64-бітних системах, коли необхідні бібліотеки або інтерпретатори можуть бути відсутніми або несправними. Одним із типових помилок, яку можна зустріти, є “bash: No such file or directory”. Вона зазвичай виникає, коли система не може знайти вказаний шлях до виконуваного файлу.
1 2 3 4 5 6 7 8 9 10 11 12 |
Я намагаюся запустити старий, 32-бітний бінарний файл на Ubuntu 20.04 на машині x86_64. Ось профіль бінарного файлу з file: $ file /usr/local/diamond/3.13/modeltech/linuxloem/vsim /usr/local/diamond/3.13/modeltech/linuxloem/vsim: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b8557f9eb74b21146d0eba49769f30f475422d26, stripped Коли я виконую бінарний файл, отримую таку помилку: $ /usr/local/diamond/3.13/modeltech/linuxloem/vsim bash: /usr/local/diamond/3.13/modeltech/linuxloem/vsim: No such file or directory Я не можу з'ясувати, в чому проблема. Права доступу до бінарного файлу в порядку (mwg - мій користувач і група): $ ls -la /usr/local/diamond/3.13/modeltech/linuxloem/vsim -rwxr-xr-x 1 mwg mwg 7772676 Jul 18 2023 /usr/local/diamond/3.13/modeltech/linuxloem/vsim Та ж проблема виникає при спробі запустити бінарний файл в якості root (тобто перед виконанням команди додаючи префікс sudo). Єдине, що я можу припустити, це те, що цей бінарний файл очікує інтерпретатора за шляхом /lib/ld-linux.so.2 (з результату file вище), і цей шлях не існує в моїй системі. Ця відповідь дала мені ідею, що, можливо, мені потрібно встановити binutils за допомогою apt, але я це зробив, і це не виправило проблему. Чи є у когось пропозиція, як я можу запустити цей бінарний файл? Або як далі діагностувати проблему? |