Saya memiliki aplikasi yang hanya ada versi 32bit. Untuk menggunakannya, saya biasa menekan 2
& 3
bersama-sama sebelum mem-boot Mac, jadi itu akan berjalan dalam mode 32bit. Namun, beberapa aplikasi (versi 64bit yang diinstal sebelumnya) akan selalu macet dalam mode ini ..
Saya kebetulan melihat solusi yang menjalankan aplikasi 32bit dalam sistem 64bit:
arch -i386 theApp.app
Tetapi saya mencoba dengan arch: /Applications/theApp.app isn't executable
kesalahan. Saya memeriksa izin file dan itu ditunjukkan drwxrwxr-x
, itu harus dapat dieksekusi, eh?
EDIT : Seperti yang dikatakan @ gd1, theApp.app adalah folder (saya pikir bundle di OSX) dan tidak dapat dieksekusi.
Tetapi saya masih membutuhkan solusi:
Bagaimana saya bisa menjalankan aplikasi 32-bit di sistem 64-bit dengan benar?
EDIT : Saya dapat membuka aplikasi dengan arch
sekarang dengan perintah (terima kasih @GordonDavisson):
arch -i386 /Applications/theApp.app/Contents/MacOS/theApp
Namun, aplikasi dijalankan dengan Components lost
kesalahan, log ditunjukkan di bawah ini:
Kjuly@MacBook-Pro:/Applications$ arch -i386 闪讯.app/Contents/MacOS/闪讯
2012-01-08 16:17:53.381 闪讯[472:1107] isActive: ioctl to kernel socket error 2 ,No such file or directory
2012-01-08 16:17:53.436 闪讯[472:1107] The AppPath = /Applications/闪讯.app
2012-01-08 16:17:53.437 闪讯[472:1107] The src path = /Applications/Èó™ËÆØ.app/xlpppoe.kext
2012-01-08 16:17:58.892 闪讯[472:1107] Set Driver Ok...
/tmp/xlpppoe.kext failed to load - (libkern/kext) requested architecture/executable not found; check the system/kernel logs for errors or try kextutil(8).
BTW, 闪讯.app
(Aku benci itu !! Tapi aku butuh itu ..) digunakan untuk terhubung ke jaringan di universitas saya di China.
EDIT :
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/Contents/MacOS/闪讯
/Applications/闪讯.app/Contents/MacOS/闪讯: Mach-O executable i386
dan
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe
/Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe: Mach-O object i386
Tampaknya hanya 32-bit & tergantung pada kernel 32-bit. Oh, aku sangat sedih. :(
Ini beberapa info yang saya dapat dengan bantuan dari @GordonDavisson, mungkin orang lain membutuhkannya.
The DOC menunjukkan beberapa metode untuk sementara memulai dengan kernel 32-bit menggunakan ekstensi kernel yang lebih tua untuk perangkat lunak pihak ketiga atau perangkat keras.
Dan ini tentang "Kompatibilitas dengan kernel 64-bit" :
Perangkat lunak pihak ketiga (seperti mesin virtualisasi) atau perangkat keras (seperti kartu PCIe) yang bergantung pada ekstensi kernel yang kompatibel dengan Mac OS X Server v10.5 mungkin tidak berfungsi pada Mac yang menggunakan kernel 64-bit di Mac OS X v10.6. Hubungi vendor perangkat lunak atau perangkat keras untuk ekstensi kernel yang diperbarui yang bekerja dengan kernel 64-bit di Mac OS X Server v10.6.
Sebagai solusinya, Anda dapat memulai sementara dengan kernel 32-bit untuk menggunakan ekstensi kernel yang lebih lama untuk perangkat lunak atau perangkat keras pihak ketiga Anda.
Jawaban:
OS X tidak memiliki mode keseluruhan 64/32 bit; itu menjalankan program individual dalam mode apa pun yang tampak "terbaik" ketika mereka mulai. Memegang 3dan 2saat komputer melakukan booting akan membuat kernelnya berjalan dalam mode 32-bit, tetapi ini tidak ada hubungannya dengan program mode apa yang dijalankan. OS X dapat dengan senang hati menjalankan program dalam mode 32-bit di bawah kernel 64-bit, atau program dalam mode 64-bit di bawah kernel 32-bit.
Jika program Anda hanya menyertakan kode 32-bit, ia akan berjalan dalam mode 32-bit tanpa Anda harus melakukan sesuatu yang istimewa. Anda dapat memeriksa ini dengan menjalankan
file
perintah pada executable (umumnya di AppName.app/Contents/MacOS/AppName. Berikut adalah beberapa contoh:... yang memberitahu saya bahwa Chess.app masing-masing menyertakan kode Intel 32-bit dan 64-bit ("i386" dan "x86_64"), VLC.app mencakup Intel 32-bit dan PowerPC 32-bit ("ppc") kode, dan Adobe Reader hanya mencakup kode Intel 32-bit.
Anda juga dapat memperoleh beberapa informasi ini (walaupun tidak secara terperinci) dari laporan sistem Informasi Sistem (di bagian Perangkat Lunak -> Aplikasi).
Jika suatu aplikasi memiliki kode 32- dan 64-bit, Anda dapat memilih yang mana untuk digunakan di jendela Finder's Get Info untuk aplikasi (akan ada kotak centang "Buka dalam mode 32-bit"), atau dengan menggunakan
arch
perintah pada executable (misalnyaarch -i386 /Applications/theApp.app/Contents/MacOS/theApp
). Tetapi Anda biasanya tidak perlu melakukan ini, OS melakukan pekerjaan yang baik untuk memilih mode terbaik.(Salah satu contoh di mana Anda perlu menimpa pemilihan mode secara manual adalah untuk kompatibilitas plugin atau perpustakaan. Jika Anda memiliki aplikasi 32 & 64-bit, tetapi harus dapat memuat plugin atau pustaka 32-bit saja, Anda harus memiliki untuk memaksa program berjalan dalam mode 32-bit.)
Jika Anda memiliki program 64-bit yang tidak akan berjalan di bawah kernel 32-bit, mereka mungkin memiliki semacam bug aneh, atau ada sesuatu yang bahkan lebih aneh sedang terjadi. Jika Anda memberikan detail spesifik, kami mungkin dapat mencari tahu apa yang sebenarnya salah.
EDIT: Sepertinya aplikasi ini hanya 32-bit, dan menginstal ekstensi kernel 32-bit saja (kext). Sementara porsi aplikasi 32-bit dapat berjalan di bawah mode kernel apa pun, keext 32-bit hanya dapat memuat ke dalam kernel 32-bit (seperti plugin untuk kernel). Anda dapat menjalankan kernel dalam mode 32-bit dengan menahan 3dan 2pada saat startup, atau secara permanen dengan perintah
sudo systemsetup -setkernelbootarchitecture i386
(lihat KB Apple # HT3773 ).Perhatikan bahwa tidak perlu melakukan sesuatu yang istimewa untuk membuka aplikasi dalam mode 32-bit; karena hanya itu format yang disertakan, itu akan berjalan dalam mode itu tidak peduli bagaimana itu diluncurkan (khususnya,
arch
perintah tidak diperlukan).Jika Anda memiliki aplikasi 64-bit yang tidak berjalan dengan baik di bawah kernel 32-bit, itu adalah masalah yang terpisah dan saya akan merekomendasikan memposting pertanyaan lain tentang itu.
sumber
"One instance where you would need to manually override the mode selection is for plugin or library compatibility"
ini mungkin kasus saya perlu menjalankan aplikasi saya dalam mode 32-bit saja. Program yang selalu macet adalahMS Word
(saya menggunakan LaTeX sekarang), saya tidak yakin apakah mode 32-bit menyebabkan crash atau tidak, hanya tebakan pribadi. Danarch -i386 /Applications/theApp.app/Contents/MacOS/theApp
itulah yang saya inginkan! Saya akan coba sekarang! Terima kasih!! : DComponents lost
kesalahan. :( Saya menempelkan log ke Q. Terima kasih sebelumnya!file /tmp/xlpppoe.kext/Contents/MacOS/xlpppoe
(atau mungkin dalam /Applications/ Èó pembuatanËÆØ.app /xlpppoe.kext sebagai gantinya). Jika hanya 32-bit, Anda harus memulai kernel dalam mode 32-bit (lihat di sini ).