আপনি যদি কোনো ধরনের GNU/Linux বাস্তবায়নে ওয়াইন-ভিত্তিক পরিবেশে কোনো ধরনের ডাটাবেস বা ম্যাক্রো চালানোর চেষ্টা করেন, তাহলে আপনি কোনো ধরনের ত্রুটির বার্তার সম্মুখীন হতে পারেন। প্রোগ্রাম ফ্লো চলাকালীন কিছু সময়ে, আপনি শেষ পর্যন্ত একটি OLE ত্রুটি 8004013F দেখতে পাবেন বাক্স আপনার স্ক্রিপ্ট অবিলম্বে মৃত্যুদন্ড কার্যকর করা বন্ধ হবে. যদি এটি ঘটে থাকে, তাহলে আপনি সম্ভবত একটি লাইব্রেরি মিস করছেন যা আপনার স্ক্রিপ্ট চালানোর প্রয়োজন। একটি নেটিভ উইন্ডোজ ক্লায়েন্টে, এই লাইব্রেরিগুলি ফাইলগুলির ভিতরের বস্তুগুলিকে তাদের মূল হোস্টের সাথে মেলাতে ব্যবহৃত হয়। লিনাক্সের এই ক্ষমতা নেই, যেহেতু একটি X সার্ভারে চলা প্রতিটি প্রোগ্রাম তার নিজস্ব উপায়ে জিনিসগুলি পরিচালনা করে৷
একটি নেটিভ মাইক্রোসফ্ট উইন্ডোজ পরিবেশের অধীনে, ডেলফি এক্সেল খুলতে একটি ছোট বিট কোড ব্যবহার করতে পারে। আপনি যদি এক্সেলের একটি এমবেডেড এবং লিঙ্কযুক্ত উদাহরণ বিভিন্ন বস্তুর সাথে কাজ করতে চান, তাহলে আপনি eclApp:=CreateOleObject(‘Excel.Application’); ব্যবহার করতে পারেন। তাই করতে লিনাক্সের ভিতরে, আপনি হয়তো এভাবে ওপেনঅফিস ব্যবহার করার চেষ্টা করেছেন। আপনি কি ডেলফিকে ভয়ঙ্কর 8004013F ছুড়ে দেখতে পাবেন আপনি eclApp:=CreateOleObject(‘com.sun.star.ServiceManager’); এর একটি উদাহরণ সহ একটি OLE অবজেক্ট তৈরি করার চেষ্টা করার পরে আপনার ত্রুটি স্নিপেট, তাহলে আপনি সম্ভবত একই নির্ভরতা সমস্যায় ভুগছেন। প্রথমে, কোনো ভুল বানানের জন্য আপনার কোডটি দেখুন। নির্ভরতা জড়িত হওয়ার আগেও এগুলি ত্রুটির সবচেয়ে সাধারণ কারণ। একবার আপনি নিশ্চিত হন যে আপনি সবকিছু সঠিকভাবে লিখেছেন, এবং তারপর আপনি প্রয়োজনীয় লাইব্রেরি পুনরুদ্ধার করতে এগিয়ে যেতে পারেন।
প্রয়োজনীয় OLE লাইব্রেরি
আপনি যদি কীনোট-এনএফ নামে একটি উইন্ডোজ অর্গানাইজার অ্যাপ্লিকেশন ব্যবহার করার চেষ্টা করেন তবে আপনি একই ত্রুটির সম্মুখীন হতে পারেন এবং যদি এটি হয় তবে আপনি এটির প্রতিকারের জন্য একই প্রক্রিয়া ব্যবহার করতে পারেন। keynote.exe ফাইলটি একটি ইনস্টলারের সাথে আসে না, তাই এটি প্রোগ্রাম ফাইল ডিরেক্টরিতে অনুলিপি করা সাধারণ। এটি চালানোর সময়, আপনি উপরে উল্লিখিত 8004013F ত্রুটি বা একটি ভিন্ন 80004001 ব্যতিক্রম অনুভব করতে পারেন। উভয় ক্ষেত্রেই, mkdir কমান্ড বা আপনার গ্রাফিক্যাল ফাইল ম্যানেজার দিয়ে প্রোগ্রাম ফাইলের ভিতরে একটি ডিরেক্টরি তৈরি করুন। এটিকে KeyNote-NF বলুন, এবং keynote.exe বাইনারিটিকে এটিতে নিয়ে যান৷
আপনার যদি Windows XP, Vista, 7, 8, 8.1 বা 10 পার্টিশনে অ্যাক্সেস থাকে, তাহলে আপনি C:\Windows\system32\ থেকে msftedit.dll ফাইলটি অনুলিপি করার চেষ্টা করতে পারেন। আপনার তৈরি KeyNote-NF ডিরেক্টরিতে ডিরেক্টরি। আপনার msls31.dll ফাইলটিও অনুলিপি করা উচিত। আপনি একটি ইনস্টলেশন সিডি থেকেও এগুলি উভয়ই অর্জন করতে পারেন তবে সেগুলিকে স্ফীত করার জন্য আপনাকে প্রসারিত কমান্ডটি ব্যবহার করতে হবে। উভয় ক্ষেত্রেই, প্রোগ্রামটি চালান এবং আপনি দেখতে পাবেন যে এটি ভাল কাজ করে।
Thunar, Nautilus এবং অন্যান্য অনুরূপ ফাইল ম্যানেজার keynote.exe কে একটি DOS এক্সিকিউটেবল হিসেবে চিহ্নিত করবে, যা আপনি নিরাপদে উপেক্ষা করতে পারেন। আপনি আগের মতই এটি চালান। আপনি যখন একটি প্রসঙ্গ মেনু অ্যাক্সেস করতে ডান-ক্লিক করেন, আপনি আসলে একটি বিকল্প পেতে পারেন যা আপনাকে ওয়াইনের অধীনে এটি চালানোর জন্য উত্সাহিত করে। এটি শুরু করতে এই বিকল্পটি নির্বাচন করুন। পরিবর্তে টার্মিনাল থেকে প্রোগ্রামটি চালানোর ফলে আপনি যে কোনও ত্রুটির বার্তা দেখতে পাবেন যা প্রক্রিয়ায় তাদের মাথার পিছনে থাকতে পারে। কিছু ক্ষেত্রে, আপনি আসলে msftedit.dll বা msls31.dll এর চেয়ে আলাদা ফাইলের নাম সম্পর্কে একটি সতর্কতা পেতে পারেন, যা আপনার পরিবর্তে অর্জন করা উচিত। অনেকটা ইউনিক্স নির্ভরতা খরগোশের গর্তের মতো, আপনি তাত্ত্বিকভাবে বিভিন্ন ফাইলে পূর্ণ একটি ডিরেক্টরি অর্জন করতে কিছু সময় ব্যয় করতে পারেন।
যখন আপনি এক্সেল বা ডেলফি কোডের সাথে একই সমস্যায় পড়েন, তখন সেই ডিরেক্টরিতে নেভিগেট করুন যেখানে এক্সিকিউটেবল রয়েছে যা আপনি চালানোর চেষ্টা করছেন এবং সেই ডিরেক্টরিতে দুটি গতিশীলভাবে লিঙ্ক করা লাইব্রেরি ফাইল রাখুন। আপনি ~/.wine/drive_c/Windows/system32-এ রেখে ওয়াইনকে মোট অ্যাক্সেস দিতে পারেন। পাশাপাশি, তবে এটি কিছু ফাইল ওভাররাইট করতে পারে যা ওয়াইন ডিফল্টরূপে ইনস্টল করে।
যেহেতু এই DLLগুলি ওপেন সোর্স সলিউশনগুলির থেকে কিছু উপায়ে উচ্চতর যেগুলি ওয়াইন ব্যবহার করে, তাই তারা আপনার চালানো হতে পারে এমন অন্যান্য প্রোগ্রামগুলিতে অবজেক্ট লিঙ্ক করতে সহায়তা করতে পারে, তবে অনেক ব্যবহারকারী ক্লোজ-সোর্স ফাইলগুলির সাথে তাদের Linux ইনস্টলেশনকে দূষিত করার ধারণা পছন্দ করেন না। আপনার প্রোগ্রামগুলি আসলে যে ডিরেক্টরিগুলি ব্যবহার করে তা কেবলমাত্র সেগুলিকে রাখা এই সমস্যাটি সমাধান করার সর্বোত্তম উপায়। এমনকি আপনি অন্য পার্টিশন থেকে অনুলিপি করা প্রকৃত উইন্ডোজ আনুষাঙ্গিকগুলির জন্য ডিরেক্টরি তৈরি করতে পারেন। উদাহরণস্বরূপ, কিছু ব্যবহারকারী যদি ঐতিহ্যগত ওয়ার্ডপ্যাড দৃষ্টান্তগুলি শুরু করতে ব্যাশ স্ক্রিপ্ট বা ডেলফি কোড ব্যবহার করেন তবে তারা এই ধরণের সমস্যার সম্মুখীন হন। ওয়াইন হয়ত write.exe-এর নিজস্ব সংস্করণ ইনস্টল করেছে, কিন্তু “~/.wine/drive_c/Program Files/”-এ একটি ডিরেক্টরি তৈরি করা থেকে আপনাকে বাধা দিতে পারে না। এবং এটিতে write.exe, msftedit.dll এবং msls31.dll স্থাপন করুন, তারপর সেই ডিরেক্টরিটিকে আপনার কোডের সাথে উল্লেখ করুন। যেহেতু ওয়াইন মাইক্রোসফ্ট উইন্ডোজ এনটি থেকে cmd দোভাষীর একটি আদিম সংস্করণ অন্তর্ভুক্ত করে, আপনি যদি চান তবে আপনি ব্যাচ স্ক্রিপ্ট ফাইলগুলিতে এই প্রোগ্রামগুলি উল্লেখ করতে পারেন। এইগুলিকে @ECHO OFF দিয়ে প্রিফেস করতে ভুলবেন না, অন্যথায় প্রতিটি কমান্ড এমনভাবে প্রদর্শিত হবে যেন আপনি এটি একটি কমান্ড লাইনে টাইপ করেছেন এবং তারপরে একে একে চালানোর জন্য এন্টার ঠেলেছেন।
ইন্টারনেটে অনেক সাইট ডাউনলোডের জন্য DLL অবজেক্ট অফার করে এবং আপনার যদি অন্য পার্টিশনে উইন্ডোজ ইনস্টলেশন না থাকে তবে এই সংগ্রহস্থলগুলির একটির সাথে যেতে প্রলুব্ধ হতে পারে। যদিও সেগুলি অবশ্যই সুবিধাজনক হতে পারে, নিশ্চিত করুন যে আপনি msftedit.dll এবং msls31.dll-এ একটি ম্যালওয়্যার স্ক্যান করছেন যদি আপনি সেগুলিকে এইভাবে অর্জন করতে বাধ্য হন৷ আপনি উবুন্টু, ডেবিয়ান এবং ফেডোরা প্রকল্পগুলির দ্বারা স্পনসর করা অফিসিয়ালদের সাথে যেভাবে আচরণ করেন সেভাবে আপনার এই সংগ্রহস্থলগুলির সাথে আচরণ করা উচিত নয়৷
এটাও মনে রাখবেন যে আপনি যদি এই পদ্ধতিতে সেগুলি অর্জন করতে বাধ্য হন যে আপনি যদি আপনার কোড পুনরায় বিতরণ করছেন তবে এটি লাইসেন্স সংক্রান্ত উদ্বেগের কারণ হতে পারে। যেকোন এক্সিকিউটেবল ইনস্টল করবেন না যা এই ধরনের যেকোন রিপোজিটরি যেটি সম্পর্কে জিজ্ঞাসা করে, যেহেতু এই এক্সিকিউটেবলগুলি প্রায়শই প্রকৃত অফিসিয়াল মাইক্রোসফ্ট উইন্ডোজ সফ্টওয়্যার পরিবেশের ব্যবহারকারীদের প্রভাবিত করার জন্য ডিজাইন করা অ্যাডওয়্যারের একটি ফর্ম নয়। যেকোন ক্ষেত্রেও একই কথা প্রযোজ্য যেখানে আপনাকে এই দুটির বাইরে বিভিন্ন লাইব্রেরি ডাউনলোড করতে হতে পারে, কারণ তারা একই ধরণের অ্যাডওয়্যার আক্রমণের শিকার হতে পারে৷
লেখক সম্পর্কে
কেভিন অ্যারোস
কেভিন অ্যারোস এক দশকেরও বেশি শিল্প অভিজ্ঞতার সাথে একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ। তিনি মাইক্রোসফ্ট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেছেন এবং সর্বশেষ প্রযুক্তিগত উন্নয়ন সম্পর্কে আপ-টু-ডেট থাকার গভীর আবেগ রয়েছে। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি, এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রগুলিতে তার দক্ষতা এবং জ্ঞান প্রদর্শন করে কেভিন প্রযুক্তি-সম্পর্কিত বিষয়গুলির বিস্তৃত পরিসরে ব্যাপকভাবে লিখেছেন। কারিগরি ক্ষেত্রে তার অবদান তার সমবয়সীদের দ্বারা ব্যাপকভাবে স্বীকৃত এবং সম্মানিত হয়েছে এবং জটিল প্রযুক্তিগত ধারণাগুলিকে স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত সম্মানিত।