Saya menginstal Ubuntu 14.04 dan SDK pengembangan Android saat ini, yang berisi file executable 32-bit. Saya menemukan bahwa saya tidak dapat menjalankan binari 32-bit itu. Mencoba memulai dari bash memberi saya kesalahan:
$ ./adb
bash: ./adb: No such file or directory
Itu ada di sana:
$ ls -al ./adb
-rwxrwxrwx 1 thomas thomas 1231255 Jan 17 13:31 ./adb
$ file ./adb
./adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped. Same symptom for all the other 32-bit tools in the Android SDK.
Di masa lalu orang hanya bisa menginstal perpustakaan 32-bit pada 64-bit Ubuntu untuk mendapatkan dukungan 32-bit, tetapi itu tampaknya tidak berfungsi lagi.
Bagaimana cara menjalankan aplikasi 32-bit pada Ubuntu 14.04 64-bit?
Jawaban:
Untuk menjalankan 32-bit executable file di multi-arsitektur sistem Ubuntu 64-bit, Anda harus menambahkan
i386
arsitektur dan menginstal tiga paket perpustakaanlibc6:i386
,libncurses5:i386
danlibstdc++6:i386
:Atau jika Anda menggunakan Ubuntu 12,04 LTS (Precise Pangolin) atau di bawah, gunakan ini:
Kemudian:
Jika gagal, lakukan juga
Setelah langkah-langkah ini, Anda harus dapat menjalankan aplikasi 32-bit:
sumber
lib32z1
juga, tetapi memperhatikan itu menarik libc6-i386 (perbedaan, perhatikan tanda hubung, bukan titik dua).libc6:i386
,libncurses5:i386
,libstdc++6:i386
adalah versi terbaru dan diatur untuk diinstal secara manual. Tapi setelah itu ia mengatakan: "Soma packages could not be installed.This may mean you have requested impossible situation or you are using unstable distribution ...
" dan dependancies terpenuhi:libstdc++6-4.4-dev:i386
tergantungg++-4.4:i386
(tidak akan diinstal). konflik:libstdc++6-4.4-dbg:i386
... dan konflik lain tentanglibstdc++6-4.4/6/7
dll. Apa yang salah atau haruskah saya biarkan seperti sekarang?"Tidak ada file atau direktori seperti itu" mungkin muncul ketika Anda memiliki biner Anda, tetapi tidak memiliki beberapa perpustakaan. Jika Anda menginstal
build-essential
paket, Anda akan memilikildd
perintah yang tersedia. Perintah inildd ./adb | grep not
akan menunjukkan kepada Anda perpustakaan apa yang hilang. Cukup instal pustaka ini di lengkungan i386 dengan apt. Seperti ini:apt-get install libmissing:i386
Hati-hati, beberapa paket kereta akan mencoba untuk menghapus versi 64bit pertama.sumber
Dan jika Anda ingin menggunakan "adb" ada paket untuk itu:
Dan sekitar perpustakaan 32-bit - hanya:
akan cukup.
sumber
Selain jawaban Zanna dan Avinash Raj yang sangat bagus saya juga harus menginstal gcc-multilib:
Mungkin ini karena saya ingin menjalankan versi gcc lama pada 64bit.
sumber