У мене є додаток, який існує лише 32-бітовою версією. Для того, щоб використовувати його, я раніше натискав 2
& 3
разом перед завантаженням Mac, тому він працюватиме в 32-бітовому режимі. Однак деякі додатки (64-бітова версія, що встановлювались раніше) завжди працюватимуть у цьому режимі.
Я випадково побачив рішення, яке запускає 32-бітну програму в 64-бітній системі:
arch -i386 theApp.app
Але я спробував з arch: /Applications/theApp.app isn't executable
помилкою. Я перевірив дозвіл на файл, і він показав drwxrwxr-x
, він повинен бути виконаним, а?
EDIT : Як сказав @ gd1, theApp.app - це папка (в OSX, я думаю, вона називається "пакет"), і тому вона не виконується.
Але мені все ж потрібне вирішення:
як я можу правильно запустити свій 32-розрядний додаток у своїй 64-бітній системі?
EDIT : Я можу зараз відкрити додаток за 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-бітове ядро, щоб використовувати старі розширення ядра для стороннього програмного забезпечення або обладнання.