Apa sebenarnya arti dari gcc-multilib di Ubuntu?

11

Setelah lama menggantung dengan Ubuntu yang lebih lama (v.12) saya memperbarui ke v.16 dan saya sangat bingung dengan menyebutkan "gcc-multilib".

Apakah ini sebenarnya model " binari lemak" Apple atau " binari universal " yang di-porting ke Linux?

Artinya, apakah pustaka C asli di Ubuntu menjadi wadah yang mengemas beberapa binari untuk berbagai arsitektur?

Jika demikian, kita tidak lagi harus menginstal libs runtime 32-bit secara khusus pada sistem x64? Paket "default" pustaka gcc atau g ++ berisi semua yang diperlukan untuk menjalankan dan membangun aplikasi 32-bit?

ddbug
sumber

Jawaban:

13

gcc-multilibberguna untuk kompilasi silang , yaitu, menyusun program untuk dijalankan pada arsitektur prosesor yang berbeda. Sebagai contoh, Anda akan perlu gcc-multilibjika Anda menjalankan Ubuntu 64-bit dan ingin mengkompilasi program untuk berjalan di Ubuntu 32-bit (atau ARM dll. Anda mendapatkan ide).

AlexP
sumber
1
Jadi, itu tidak terkait dengan pustaka runtime? Apakah kita masih harus melalui loop dan menginstal "libc-i386", "g ++ - i386" dan seterusnya 32-bit libs untuk menjalankan program 32-bit pada x64? Dan apakah "dpkg --add-architecture i386" terkait dengan multilib?
ddbug
Iya. Lingkaran biasa. dpkg --add-architecturehanya mengatakan dpkgbahwa Anda benar-benar ingin menginstal paket untuk arsitektur asing dan itu harus berhenti mengeluh dan meminta --force-architecture.
AlexP
Terima kasih AlexP Apakah pengaturan multilib ini baru untuk Ubuntu 16, atau sudah ada sebelumnya, misalnya di v.14 atau bahkan 12?
ddbug
12,04 setidaknya.
AlexP