J'ai une application qui n'existe que dans une version 32 bits. Pour l'utiliser, j'avais l'habitude d'appuyer sur 2
& 3
ensemble avant de démarrer le Mac, donc il fonctionnera en mode 32 bits. Cependant, certaines applications (version 64 bits installée précédemment) plantent toujours dans ce mode.
Il m'est arrivé de voir une solution qui exécute une application 32 bits dans un système 64 bits:
arch -i386 theApp.app
Mais j'ai essayé avec arch: /Applications/theApp.app isn't executable
erreur. J'ai vérifié l'autorisation du fichier et cela s'est montré drwxrwxr-x
, il devrait être exécutable, euh?
EDIT : Comme l'a dit @ gd1, theApp.app est un dossier (il s'appelle bundle dans OSX je pense) et donc il n'est pas exécutable.
Mais j'ai toujours besoin d'une solution:
comment puis-je exécuter correctement mon application 32 bits dans mon système 64 bits?
EDIT : Je peux arch
maintenant ouvrir l'application avec la commande (merci @GordonDavisson):
arch -i386 /Applications/theApp.app/Contents/MacOS/theApp
Cependant, l'application s'exécute avec Components lost
erreur, journal ci-dessous:
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, le 闪讯.app
(je déteste !! mais j'en ai besoin ..) est utilisé pour se connecter au réseau dans mon université en Chine.
MODIFIER :
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/Contents/MacOS/闪讯
/Applications/闪讯.app/Contents/MacOS/闪讯: Mach-O executable i386
et
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe
/Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe: Mach-O object i386
Il semble que ce soit uniquement en 32 bits et dépend du noyau 32 bits. Oh, je suis tellement triste. :(
Voici quelques informations que j'ai obtenues avec l'aide de @GordonDavisson, peut-être que quelqu'un d'autre en a besoin.
Le DOC montre certaines méthodes pour démarrer temporairement avec le noyau 32 bits afin d'utiliser des extensions de noyau plus anciennes pour le logiciel ou le matériel tiers.
Et il s'agit de "Compatibilité avec le noyau 64 bits" :
Les logiciels tiers (comme un moteur de virtualisation) ou le matériel (comme une carte PCIe) qui repose sur une extension de noyau compatible avec Mac OS X Server v10.5 peuvent ne pas fonctionner sur les Mac qui utilisent le noyau 64 bits dans Mac OS X v10.6. Contactez le fournisseur de logiciels ou de matériel pour une extension de noyau mise à jour qui fonctionne avec le noyau 64 bits dans Mac OS X Server v10.6.
Pour contourner ce problème, vous pouvez démarrer temporairement avec le noyau 32 bits pour utiliser des extensions de noyau plus anciennes pour votre logiciel ou matériel tiers.