Mam aplikację, która istnieje tylko wersja 32-bitowa. Aby go użyć, naciskałem klawisze 2
& 3
razem przed uruchomieniem komputera Mac, aby działał w trybie 32-bitowym. Jednak niektóre aplikacje (wcześniej zainstalowana wersja 64-bitowa) zawsze ulegają awarii w tym trybie.
Zdarzyło mi się zobaczyć rozwiązanie, które uruchamia 32-bitową aplikację w systemie 64-bitowym:
arch -i386 theApp.app
Ale próbowałem z arch: /Applications/theApp.app isn't executable
błędem. Sprawdziłem uprawnienia do pliku i okazało się drwxrwxr-x
, że powinno być wykonywalne, co?
EDYCJA : Jak powiedział @ gd1, app.ap jest folderem (myślę, że w OSX nazywa się to pakietem) i dlatego nie jest wykonywalny.
Ale wciąż potrzebuję obejścia:
Jak poprawnie uruchomić moją 32-bitową aplikację w 64-bitowym systemie?
EDYCJA : Mogę teraz otworzyć aplikację za arch
pomocą polecenia (dzięki @GordonDavisson):
arch -i386 /Applications/theApp.app/Contents/MacOS/theApp
Jednak aplikacja działa z Components lost
błędem, dziennik pokazano poniżej:
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
(Nienawidzę !! Ale potrzebuję tego ...) służy do połączenia z siecią na moim uniwersytecie w Chinach.
EDYCJA :
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/Contents/MacOS/闪讯
/Applications/闪讯.app/Contents/MacOS/闪讯: Mach-O executable i386
i
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe
/Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe: Mach-O object i386
Wygląda na to, że jest tylko 32-bitowy i zależy od 32-bitowego jądra. Och, jestem taka smutna. :(
Oto kilka informacji, które otrzymałem przy pomocy @GordonDavisson, może ktoś inny tego potrzebuje.
The DOC pokazuje kilka metod, aby tymczasowo uruchamiany z jądrem 32-bitowym, aby używać starszych rozszerzeń jądra dla oprogramowania firm trzecich lub sprzętu.
I chodzi o „Kompatybilność z 64-bitowym jądrem” :
Oprogramowanie innych firm (takie jak silnik wirtualizacji) lub sprzęt (taki jak karta PCIe), który korzysta z rozszerzenia jądra zgodnego z systemem Mac OS X Server 10.5, może nie działać na komputerach Mac, które używają 64-bitowego jądra w Mac OS X 10.6. Skontaktuj się z dostawcą oprogramowania lub sprzętu, aby uzyskać zaktualizowane rozszerzenie jądra, które współpracuje z 64-bitowym jądrem w systemie Mac OS X Server 10.6.
Aby obejść ten problem, możesz tymczasowo uruchomić 32-bitowe jądro, aby używać starszych rozszerzeń jądra dla oprogramowania lub sprzętu innych firm.