У меня есть приложение, которое существует только в 32-битной версии. Чтобы использовать его, я обычно нажимал 2
& 3
вместе перед загрузкой Mac, чтобы он работал в 32-битном режиме. Тем не менее, некоторые приложения (64-битная версия, которая была установлена ранее) всегда будут зависать в этом режиме.
Мне довелось увидеть решение, которое запускает 32-битное приложение в 64-битной системе:
arch -i386 theApp.app
Но я попробовал с arch: /Applications/theApp.app isn't executable
ошибкой. Я проверил разрешение файла и он показал drwxrwxr-x
, что он должен быть исполняемым, а?
РЕДАКТИРОВАТЬ : Как сказал @ gd1, App.app - это папка (я думаю, в OSX она называется bundle), и поэтому она не является исполняемой.
Но мне все еще нужен обходной путь:
как правильно запустить 32-битное приложение в моей 64-битной системе?
РЕДАКТИРОВАТЬ : я могу открыть приложение arch
сейчас с помощью команды (спасибо @GordonDavisson):
arch -i386 /Applications/theApp.app/Contents/MacOS/theApp
Тем не менее, приложение работает с Components lost
ошибкой, журнал показан ниже:
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).
Кстати, 闪讯.app
(я ненавижу это! Но мне это нужно ..) используется для подключения к сети в моем университете в Китае.
РЕДАКТИРОВАТЬ :
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/Contents/MacOS/闪讯
/Applications/闪讯.app/Contents/MacOS/闪讯: Mach-O executable i386
и
Kjuly@MacBook-Pro:~$ file /Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe
/Applications/闪讯.app/xlpppoe.kext/Contents/MacOS/xlpppoe: Mach-O object i386
Кажется, это только 32-разрядная версия и зависит от 32-разрядного ядра. О, я ооочень грустный. :(
Вот некоторые сведения, которые я получил с помощью @GordonDavisson, возможно, кому-то еще это понадобится.
В DOC показывает некоторые методы , чтобы временно запускались с 32-битным ядром использовать старые расширения ядра для программного или аппаратного обеспечения сторонних производителей .
И речь идет о «Совместимости с 64-битным ядром» :
Программное обеспечение сторонних производителей (например, механизм виртуализации) или аппаратное обеспечение (например, карта PCIe), использующее расширение ядра, совместимое с Mac OS X Server v10.5, может не работать на компьютерах Mac, использующих 64-разрядное ядро в Mac OS X v10.6. Обратитесь к поставщику программного или аппаратного обеспечения для получения обновленного расширения ядра, которое работает с 64-разрядным ядром в Mac OS X Server v10.6.
В качестве обходного пути вы можете временно запустить 32-разрядное ядро, чтобы использовать более старые расширения ядра для стороннего программного или аппаратного обеспечения.