GNU/Linux >> Belajar Linux >  >> Linux

Tidak ada kesalahan file atau direktori saat menjalankan biner

Jawabannya ada di baris keluaran readelf -a ini dalam pertanyaan awal

  [Requesting program interpreter: /lib/ld-linux.so.2]

Saya kehilangan file /lib/ld-linux.so.2, yang diperlukan untuk menjalankan aplikasi 32-bit. Paket Ubuntu yang memiliki file ini adalah libc6-i386.


Pertanyaan lama, tapi semoga ini bisa membantu orang lain.

Dalam kasus saya, saya menggunakan toolchain di Ubuntu 12.04 yang dibangun di Ubuntu 10.04 (membutuhkan GCC 4.1 untuk membuatnya). Karena sebagian besar perpustakaan telah pindah ke direktori multiarch, ld.so tidak dapat ditemukan. Jadi, buat symlink untuk itu.

Periksa jalur yang diperlukan:

$ readelf -a arm-linux-gnueabi-gcc | grep interpreter:
      [Requesting program interpreter: /lib/ld-linux-x86-64.so.2]

Buat symlink:

$ sudo ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2

Jika Anda menggunakan 32bit, itu akan menjadi i386-linux-gnu dan bukan x86_64-linux-gnu.


Linux
  1. kesalahan fatal openssl/evp.h:Tidak ada file atau direktori seperti itu:[Terpecahkan]

  2. Tidak dapat membuat exec Tidak ada file atau direktori seperti itu [Fix]

  3. Perbaiki kesalahan fatal openssl err.h – Tidak ada file atau direktori seperti itu [OpenCA]

  1. Kesalahan Dengan Program.csh (bin/csh:Penerjemah Buruk:Tidak Ada File Atau Direktori Tersebut)?

  2. Kesalahan:Tcl.h Tidak Ditemukan (tidak ada File Atau Direktori Tersebut)?

  3. Mengecualikan direktori saat membuat file .tar.gz

  1. 'SDL.h tidak ada file atau direktori yang ditemukan' saat kompilasi

  2. mkdir -p gagal saat direktori ada

  3. Mengapa ENOENT berarti Tidak ada file atau direktori seperti itu?