GNU/Linux >> Belajar Linux >  >> Linux

glibc:file elf OS ABI tidak valid

Bukan versi kernel Anda yang menjadi masalah.

Loader di sistem Anda tidak mendukung Linux yang baru ABI. Sampai baru-baru ini, binari Linux ELF menggunakan System V ABI. Baru-baru ini, untuk mendukung STT_GNU_IFUNC, Linux ABI telah ditambahkan. Anda harus memperbarui sistem Anda Pustaka C untuk memiliki loader yang mendukung STT_GNU_IFUNC, dan kemudian juga akan mengenali objek ELF dengan Linux Jenis ABI.

Lihat entri blog Dave Miller di STT_GNU_IFUNC untuk Sparc (diarsipkan) untuk mendapatkan pemahaman tentang apa yang dilakukan STT_GNU_IFUNC, jika Anda peduli.


Jika Anda mendapatkan loader dari sistem yang lebih baru, Anda mungkin dapat membuatnya berfungsi menggunakan itu. Tapi Anda harus membawa loader kemanapun program Anda pergi. Anda dapat mengkompilasi program Anda untuk menggunakan loader tersebut seperti yang dijelaskan di sini, atau mengkompilasi program Anda dan menambalnya nanti menggunakan patchelf, dengan cara yang mirip dengan yang saya sebutkan di sini. Saya dapat menjalankan program yang memberi saya OS ABI invalid kesalahan pada linux 2.6.18 (lebih lama dari milik Anda) yang memiliki ld-2.5.so, dengan menyalin ld-2.15.so dari tempat lain.

CATATAN:jangan JANGAN timpa sistem Anda ld*.so atau ld-linux.;-/


Mungkin saja glibc Anda dibuat dengan --enable-multiarch bendera yang dipaksakan menggunakan ifunc dan new LINUX ABI


Linux
  1. Dasar-dasar Izin File Linux

  2. Bagaimana Mengganti Nama File di Linux?

  3. Menjalankan file biner datar di Linux

  1. Cara memindahkan file di Linux

  2. Memahami Izin File Linux

  3. Linux – Semuanya Adalah File?

  1. Perintah Ekor Linux

  2. Perintah Sentuh Linux

  3. Perintah Cat di Linux