আমি কীভাবে 64-বিট ওএসএক্স 10.7.2-তে 32-বিট অ্যাপ চালাতে পারি?


15

আমার কাছে এমন একটি অ্যাপ রয়েছে যা কেবলমাত্র 32 বিট সংস্করণে উপস্থিত রয়েছে exists এটি ব্যবহার করার জন্য, আমি ম্যাক বুট করার আগে একসাথে টিপতাম 2& 3একসাথে ব্যবহার করতাম , সুতরাং এটি 32 বিট মোডে চলবে। তবে কিছু অ্যাপস (installed৪ বিট সংস্করণ যা পূর্বে ইনস্টল করা হয়েছে) সর্বদা এই মোডে ক্রাশ হবে ..

আমি এমন একটি সমাধান দেখতে পেয়েছি যা bit৪ বিট সিস্টেমে 32 বিট অ্যাপ চালায়:

arch -i386 theApp.app

কিন্তু আমি arch: /Applications/theApp.app isn't executableত্রুটি দিয়ে চেষ্টা করেছি । আমি ফাইলের অনুমতি পরীক্ষা করেছিলাম এবং এটি দেখানো হয়েছে drwxrwxr-x, এটি কার্যকর করা উচিত, আহ?
সম্পাদনা : @ জিডি 1 যেমন বলেছে, অ্যাপ.এপ অ্যাপ্লিকেশনটি একটি ফোল্ডার (এটি আমি মনে করি ওএসএক্সে বান্ডেল বলে) এবং তাই এটি কার্যকর হয় না।

তবে আমার এখনও একটি কর্মপরিকল্পনা দরকার:
আমি কীভাবে আমার 64৪-বিট সিস্টেমে আমার 32-বিট অ্যাপটি চালাতে পারি?


সম্পাদনা : archকমান্ডটি দিয়ে এখনই অ্যাপটি খুলতে পারি (ধন্যবাদ @ গর্ডন ডেভিসন):

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-বিট কার্নেলের উপর নির্ভর করে। ওহ, আমি খুব দুঃখিত। :(


@ গর্ডন ডেভিসনের সহায়তায় আমি এখানে পেয়েছি এমন কিছু ইনফোস, সম্ভবত অন্য কারোর প্রয়োজন হতে পারে।

সমবায় শো সাময়িকভাবে কিছু পদ্ধতি 32 বিট কার্নেল সঙ্গে আরম্ভ তৃতীয় পক্ষের সফটওয়্যার বা হার্ডওয়্যার জন্য পুরোনো কার্নেল এক্সটেনশন ব্যবহার করতে।

এবং এটি "64-বিট কার্নেলের সাথে সামঞ্জস্যতা" সম্পর্কে :

তৃতীয় পক্ষের সফ্টওয়্যার (যেমন ভার্চুয়ালাইজেশন ইঞ্জিন) বা হার্ডওয়্যার (যেমন একটি পিসিআই কার্ড) যা কার্নেল এক্সটেনশনের উপর নির্ভর করে যা ম্যাক ওএস এক্স সার্ভার v10.5 এর সাথে সামঞ্জস্যপূর্ণ ম্যাকগুলিতে কাজ করতে পারে না যা that৪-বিট কার্নেল ব্যবহার করে ম্যাক ওএস এক্স v10.6। ম্যাক ওএস এক্স সার্ভার v10.6 এ in৪-বিট কার্নেলের সাথে কাজ করে এমন একটি আপডেট হওয়া কার্নেল এক্সটেনশনের জন্য সফ্টওয়্যার বা হার্ডওয়্যার বিক্রেতার সাথে যোগাযোগ করুন।

কর্মক্ষেত্র হিসাবে, আপনি নিজের তৃতীয় পক্ষের সফ্টওয়্যার বা হার্ডওয়্যারের জন্য পুরানো কার্নেল এক্সটেনশনগুলি ব্যবহার করতে অস্থায়ীভাবে 32-বিট কার্নেল দিয়ে শুরু করতে পারেন।


ওএস এক্স এর কোন সংস্করণ?
8:25

@স্কাব 10.7.2। :)
কুজুলি

1
আমি ওএসএক্সকে খুব ভাল জানি না, তবে আমি মনে করি যে "খিলান" কোনও এক্সিকিউটেবলকে আর্গুমেন্ট হিসাবে দেওয়া হবে বলে আশা করে, এবং অ্যাপ.এপ.এপ একটি ফোল্ডার (যেমন আপনি দেখতে পাচ্ছেন, এটির সামনে 'ডি' অক্ষর রয়েছে) অনুমতি স্ট্রিং এর শুরু)। এর ভিতরে সম্পাদনযোগ্য জন্য
Serach

@ জিডি 1 ইয়া, আপনি ঠিক বলেছেন! এখন আমি ভাবছি কীভাবে এটি 32-বিট মোডে চালাবেন। :)
কুজুলি

উত্তর:


19

ওএস এক্স এর সামগ্রিকভাবে 64/32 বিট মোড নেই; এটি পৃথক প্রোগ্রামগুলি শুরু হয় যখনই "সেরা" মনে হয় মোডে চালায়। হোল্ডিং 3এবং 2যেমন কম্পিউটার বুট 32 বিট মোডে তার কার্নেল রান করতে হবে, কিন্তু এই কি মোড প্রোগ্রাম চালানোর সঙ্গে কিছুই করার আছে। OS X এর সুখে 64-বিট কার্নেল অধীনে চালাতে পারেন 32 বিট মোডে প্রোগ্রাম, বা প্রোগ্রাম 32-বিট কার্নেলের আওতায় 64-বিট মোডে।

যদি আপনার প্রোগ্রামে কেবল 32-বিট কোড অন্তর্ভুক্ত থাকে তবে এটি আপনাকে বিশেষ কিছু না করে 32-বিট মোডে চলবে। fileএক্সিকিউটেবল (সাধারণত AppName.app/Contents/MacOS/appName এ কমান্ডটি চালিয়ে আপনি এটি পরীক্ষা করতে পারেন a এখানে কয়েকটি উদাহরণ দেওয়া হল:

$ file /Applications/Chess.app/Contents/MacOS/Chess
/Applications/Chess.app/Contents/MacOS/Chess: Mach-O universal binary with 2 architectures
/Applications/Chess.app/Contents/MacOS/Chess (for architecture x86_64): Mach-O 64-bit executable x86_64
/Applications/Chess.app/Contents/MacOS/Chess (for architecture i386):   Mach-O executable i386
$ file /Applications/VLC.app/Contents/MacOS/VLC
/Applications/VLC.app/Contents/MacOS/VLC: Mach-O universal binary with 2 architectures
/Applications/VLC.app/Contents/MacOS/VLC (for architecture i386):   Mach-O executable i386
/Applications/VLC.app/Contents/MacOS/VLC (for architecture ppc):    Mach-O executable ppc
$ file /Applications/Adobe\ Reader\ 9/Adobe\ Reader.app/Contents/MacOS/AdobeReader 
/Applications/Adobe Reader 9/Adobe Reader.app/Contents/MacOS/AdobeReader: Mach-O executable i386

... যা আমাকে বলে যে চেস.এপ-এ 32-বিট এবং 64-বিট ইন্টেল কোড (যথাক্রমে "i386" এবং "x86_64") অন্তর্ভুক্ত রয়েছে, ভিএলসি.অ্যাপে 32-বিট ইন্টেল এবং 32-বিট পাওয়ারপিসি ("পিপিসি") অন্তর্ভুক্ত রয়েছে কোড এবং অ্যাডোব রিডার কেবল 32-বিট ইন্টেল কোড অন্তর্ভুক্ত করে।

সিস্টেম তথ্যের সিস্টেম প্রতিবেদন (সফ্টওয়্যার -> অ্যাপ্লিকেশন বিভাগে) থেকে আপনি এই তথ্যগুলির কয়েকটি (যদিও স্পষ্ট বিবরণ হিসাবে নাও) পেতে পারেন।

যদি কোনও অ্যাপ্লিকেশনটিতে 32- এবং 64-বিট উভয় কোড থাকে তবে আপনি অ্যাপ্লিকেশনটির জন্য ফাইন্ডারের প্রাপ্ত তথ্য উইন্ডোতে কোনটি ব্যবহার করবেন তা বেছে নিতে পারেন (সেখানে "32-বিট মোডে ওপেন থাকবে" চেকবক্স হবে) বা এটি ব্যবহার করে archএক্সিকিউটেবল (যেমন arch -i386 /Applications/theApp.app/Contents/MacOS/theApp) কমান্ড । তবে আপনার সাধারণত এটি করার দরকার নেই, ওএস সেরা মোডটি বাছাই করার জন্য ভাল কাজ করে।

(একটি উদাহরণ যেখানে আপনাকে ম্যানুয়ালি মোড নির্বাচনটি ওভাররাইড করতে হবে তা প্লাগইন বা লাইব্রেরি সামঞ্জস্যের জন্য। যদি আপনার কাছে 32 এবং 64-বিট অ্যাপ থাকে তবে এটি কেবল 32-বিট প্লাগইন বা লাইব্রেরি লোড করতে সক্ষম হতে হবে, আপনার কাছে প্রোগ্রামটিকে 32-বিট মোডে চালিত করতে বাধ্য করা))

যদি আপনার কাছে -৪-বিট প্রোগ্রাম থাকে যা 32-বিট কার্নেলের আওতায় চলে না, তাদের হয় কিছুটা অদ্ভুত ত্রুটি বা অন্যটি কিছু চলতে থাকে। আপনি যদি সুনির্দিষ্ট বিবরণ দেন তবে আমরা আসলে কী ভুল হচ্ছে তা নির্ধারণ করতে পারব।

সম্পাদনা: দেখে মনে হচ্ছে অ্যাপটি কেবল 32-বিট, এবং 32-বিট কেবল কার্নেল এক্সটেনশন (কেেক্সট) ইনস্টল করে। যদিও 32-বিট অ্যাপ অংশটি কোনও কার্নেল মোডের অধীনে চলতে পারে, 32-বিট কেেক্সটগুলি কেবল 32-বিট কার্নেলের মধ্যে লোড করতে পারে (এটি কার্নেলের জন্য প্লাগইনের মতো)। আপনি ধরে 32 বিট মোডে কার্নেল চালাতে পারেন 3এবং 2সূচনার সময়, অথবা স্থায়ীভাবে আদেশের সঙ্গে sudo systemsetup -setkernelbootarchitecture i386(দেখুন অ্যাপলের কিলোবাইট # HT3773 )।

মনে রাখবেন যে 32-বিট মোডে অ্যাপটি খোলার জন্য বিশেষ কিছু করার প্রয়োজন হবে না; যেহেতু এটি কেবলমাত্র ফর্ম্যাট অন্তর্ভুক্ত তাই এটি মোডে চলবে কীভাবে এটি চালু হয় (বিশেষত archকমান্ডটি প্রয়োজনীয় নয় )।

আপনার যদি any৪-বিট অ্যাপ্লিকেশনগুলি থাকে যা 32-বিট কার্নেলের আওতায় সঠিকভাবে চালিত হয় না, এটি একটি পৃথক সমস্যা এবং আমি সে সম্পর্কে আরও একটি প্রশ্ন পোস্ট করার পরামর্শ দিই।


"One instance where you would need to manually override the mode selection is for plugin or library compatibility"এটি কেবলমাত্র 32-বিট মোডে আমার অ্যাপ্লিকেশন চালানোর প্রয়োজন হতে পারে। যে প্রোগ্রামটি সর্বদা ক্রাশ হয় তা হ'ল MS Word(আমি পরিবর্তে এখনই ল্যাটেক্স ব্যবহার করি), আমি নিশ্চিত না যে 32-বিট মোড ক্র্যাশ ঘটায় কি না, কেবল একটি ব্যক্তিগত অনুমান। আর arch -i386 /Applications/theApp.app/Contents/MacOS/theAppআমি কি চাই! আমি তখন চেষ্টা করব! ধন্যবাদ !! : ডি
কুজুলি 8'12

দুর্ভাগ্যক্রমে, এটি Components lostত্রুটির সাথে ব্যর্থ হয়েছিল । :( আমি লগটি আমার
প্রশ্নে আটকালাম

1
এই লগটি ইঙ্গিত দেয় যে এটি কার্নেল এক্সটেনশন (.kext) লোড করার চেষ্টা করছে, যার অর্থ কার্নেল মোডটি গুরুত্বপূর্ণ হয় (এটি মূলত কার্নেল প্লাগইনের মতো), এবং "অনুরোধকৃত আর্কিটেকচার / এক্সিকিউটেবল পাওয়া যায়নি" বিট প্রস্তাব দেয় এটি সমর্থন করে না কার্নেলটি মোডে চলছে First প্রথমে, আমি কীটসের কী মোডগুলি রয়েছে তার মতো কিছু file /tmp/xlpppoe.kext/Contents/MacOS/xlpppoe(বা এটি এর পরিবর্তে / অ্যাপ্লিকেশনস / Èó™ËÆØ.app/xlpppoe.kext এ থাকতে পারে) সন্ধান করব। যদি এটি কেবল 32-বিট হয় তবে আপনাকে 32-বিট মোডে কার্নেলটি শুরু করতে হবে ( এখানে দেখুন )।
গর্ডন ডেভিসন

হাই @ গর্ডন, আমি আমার প্রশ্নে তথ্যটি রেখেছি। হতে পারে আপনি আমার উত্তরের অংশ হিসাবে আমার শেষ অংশটি ব্যবহার করতে পারেন। : পি যাইহোক ধন্যবাদ !!
Kjuly
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.