Ho un'app che esiste solo una versione a 32 bit. Per usarlo, premevo 2
e 3
insieme prima di avviare il Mac, quindi funzionerà in modalità 32 bit. Tuttavia, alcune app (versione a 64 bit installata in precedenza) andranno sempre in crash in questa modalità.
Mi è capitato di vedere una soluzione che esegue app a 32 bit nel sistema a 64 bit:
arch -i386 theApp.app
Ma ho provato con arch: /Applications/theApp.app isn't executable
errore. Ho controllato il permesso del file e ha mostrato drwxrwxr-x
, dovrebbe essere eseguibile, eh?
EDIT : Come ha detto @ gd1, theApp.app è una cartella (penso che sia chiamata bundle in OSX) e quindi non è eseguibile.
Ma ho ancora bisogno di una soluzione alternativa:
come posso eseguire correttamente la mia app a 32 bit nel mio sistema a 64 bit?
EDIT : posso aprire l'app con arch
ora con il comando (grazie @GordonDavisson):
arch -i386 /Applications/theApp.app/Contents/MacOS/theApp
Tuttavia, l'app viene eseguita con Components lost
errori, registro mostrato di seguito:
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).
A proposito, il 闪讯.app
(lo odio !! Ma ne ho bisogno ..) viene utilizzato per connettersi alla rete nella mia università in Cina.
MODIFICA :
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/Contents/MacOS/闪讯
/Applications/闪讯.app/Contents/MacOS/闪讯: Mach-O executable i386
e
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe
/Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe: Mach-O object i386
Sembra che sia solo a 32 bit e dipende dal kernel a 32 bit. Oh, sono così triste. :(
Ecco alcune informazioni che ho ricevuto con l'aiuto di @GordonDavisson, forse qualcun altro ne ha bisogno.
Il DOC mostra alcuni metodi per l'avvio temporaneo con il kernel a 32 bit per utilizzare estensioni del kernel precedenti per software o hardware di terze parti.
E si tratta di "Compatibilità con il kernel a 64 bit" :
Software di terze parti (come un motore di virtualizzazione) o hardware (come una scheda PCIe) che si basa su un'estensione del kernel compatibile con Mac OS X Server v10.5 potrebbe non funzionare su Mac che utilizzano il kernel a 64 bit in Mac OS X v10.6. Contattare il fornitore del software o dell'hardware per un'estensione del kernel aggiornata che funziona con il kernel a 64 bit in Mac OS X Server v10.6.
Per ovviare al problema, è possibile avviare temporaneamente con il kernel a 32 bit per utilizzare estensioni del kernel precedenti per il software o l'hardware di terze parti.