Secara umum, sistem UNIX mendukung kompatibilitas biner ke belakang (biner yang dibangun di atas mesin lama terus berjalan di mesin yang lebih baru), tetapi tidak sebaliknya. Anda tidak dapat mengharapkan biner yang dibangun di atas sistem baru untuk berjalan di sistem lama. STT_GNU_IFUNC
hanyalah yang pertama dari banyak masalah yang akan Anda temui.
Jika Anda perlu membuat biner di mesin yang lebih baru yang akan berjalan di mesin yang lebih lama, lihat dokumen ini.
Dulu ada "apgcc:Pembungkus GCC untuk membuat binari portabel" yang memudahkan ini (direferensikan dari atas), tetapi tampaknya sudah hilang;-(
Opsi termudah adalah membangun di mesin lama (saya dulu membangun di RedHat 6.2, dan biner yang dihasilkan berjalan di mana saja ). Anda tidak harus benar-benar menjalankan RH-6.2 di mesin fisik, cukup tampilkan di VM.
Opsi lain yang relatif mudah adalah membuat chroot
, sekali lagi menggunakan alat dan pustaka dari distribusi lama (mis. RH-6.2).
Karena APGCC sepertinya tidak tersedia lagi (kecuali mungkin di sini dan di sini). Header glibc ini tampaknya saat ini merupakan cara yang paling nyaman untuk menghasilkan binari Linux portabel dari kode C dengan memasukkan salah satu file header yang lebih lama.