ฉันมีแอพที่มีอยู่ในรุ่น 32 บิตเท่านั้น เพื่อที่จะใช้ฉันเคยกด2
& 3
ร่วมกันก่อนที่จะบูต Mac ดังนั้นมันจะทำงานในโหมด 32 บิต อย่างไรก็ตามแอพบางตัว (เวอร์ชั่น 64 บิตที่ติดตั้งมาก่อน) จะมีปัญหาในโหมดนี้เสมอ
ฉันบังเอิญเห็นวิธีแก้ปัญหาที่เรียกใช้แอพ 32 บิตในระบบ 64 บิต:
arch -i386 theApp.app
แต่ฉันลองarch: /Applications/theApp.app isn't executable
ผิดพลาด ฉันตรวจสอบการอนุญาตของไฟล์และมันแสดงdrwxrwxr-x
ว่ามันควรจะปฏิบัติได้ใช่มั้ย?
แก้ไข : ตามที่ @ gd1 กล่าวว่า theApp.app เป็นโฟลเดอร์ (เรียกว่าบันเดิลใน OSX ฉันคิดว่า) และดังนั้นจึงไม่สามารถใช้งานได้
แต่ฉันยังต้องการวิธีแก้ปัญหา:
ฉันจะเรียกใช้แอพ 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).
BTW, 闪讯.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 บิต" :
ซอฟต์แวร์ของ บริษัท อื่น (เช่น virtualization engine) หรือฮาร์ดแวร์ (เช่นการ์ด PCIe) ที่ใช้ส่วนขยายเคอร์เนลซึ่งเข้ากันได้กับ Mac OS X Server v10.5 อาจไม่ทำงานบน Macs ที่ใช้เคอร์เนล 64 บิตใน Mac OS X v10.6 ติดต่อผู้จำหน่ายซอฟต์แวร์หรือฮาร์ดแวร์สำหรับส่วนขยายเคอร์เนลที่อัพเดตซึ่งทำงานกับเคอร์เนล 64 บิตใน Mac OS X Server v10.6
คุณสามารถเริ่มต้นใช้งานเคอร์เนลแบบ 32 บิตเป็นการชั่วคราวเพื่อใช้ส่วนขยายเคอร์เนลที่เก่ากว่าสำหรับซอฟต์แวร์หรือฮาร์ดแวร์ของ บริษัท อื่น