কম্পিউটার

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেনউইন্ডোজ এবং লিনাক্স দুটি খুব আলাদা সিস্টেম, এবং যেমন, লেখা প্রোগ্রামগুলিকে পোর্ট করা প্রায়শই সহজ নয় একের সাথে অন্যের জন্য, বিশেষ করে যখন GUI প্রোগ্রামগুলির সাথে ডিল করা হয়। যদিও বিভিন্ন ক্রস-প্ল্যাটফর্ম লাইব্রেরি এবং SDK আছে, পোর্টেবিলিটি ছাড়াই লেখা নেটিভ প্রোগ্রাম পোর্ট করা বেশ কঠিন।

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

Cygwin ইনস্টলেশন পৃষ্ঠায় যান এবং 32-বিট বা 64-বিট সেটআপ এক্সিকিউটেবল ডাউনলোড করুন (আপনি কোন উইন্ডোজ ব্যবহার করছেন তার উপর নির্ভর করে)। সেটআপ প্রোগ্রাম চালান। আবার পরবর্তী এবং পরবর্তী ক্লিক করুন ("ইন্টারনেট থেকে ইনস্টল" করতে)। ডিফল্ট ডিরেক্টরি হল "C:\cygwin"। প্রয়োজনে এটি পরিবর্তন করা যেতে পারে, তবে আপনার এটি পরিবর্তন করার নির্দিষ্ট কারণ না থাকলে, ডিফল্টটি সর্বোত্তম। পরবর্তী, পরবর্তী এবং পরবর্তীতে আবার ক্লিক করুন৷

সাইগউইন প্রকল্পের সারা বিশ্বে মিরর সাইট রয়েছে; আপনি যা মনে করেন আপনার অবস্থানটি সর্বোত্তম পরিবেশন করবে এমন একটি চয়ন করুন এবং পরবর্তী ক্লিক করুন৷ আপনাকে এখন কোন প্যাকেজ ইনস্টল করতে হবে তা বেছে নিতে হবে। উইন্ডোজে সাধারণ লিনাক্স প্রোগ্রাম কম্পাইল করার জন্য, আপনার প্রয়োজন হবে GNU কম্পাইলার চেইন (GCC) যা একটি C এবং C++ কম্পাইলার প্রদান করে।

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

অনুসন্ধান বাক্সে "gcc" টাইপ করুন এবং তারপর প্যাকেজের তালিকায় "Devel" এর পাশের ছোট প্লাস চিহ্নে ক্লিক করুন। "gcc-core" এবং "gcc-g++" খুঁজুন এবং প্রতিটির জন্য "এড়িয়ে যান" এ ক্লিক করুন। "এড়িয়ে যান" শব্দটি একটি সংস্করণ নম্বরে পরিবর্তিত হবে এবং "বিনে?" কলাম একটি চেক বক্সে পরিণত হবে। অনুসন্ধান বাক্সে "মেক" টাইপ করুন এবং "ডেভেল" এর অধীনে "মেক" খুঁজুন। এটিকে ইনস্টল করার জন্য চিহ্নিত করতে "এড়িয়ে যান" এ ক্লিক করুন। "wget" অনুসন্ধান করুন এবং এটিকে "ওয়েব" থেকে ইনস্টল করার জন্য চিহ্নিত করুন। নীচের উদাহরণটি তৈরি করতে, আমাদের প্রয়োজন হবে "libiconv;" এটি অনুসন্ধান করুন এবং এটিকে ইনস্টল করার জন্য চিহ্নিত করুন৷

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

Next ক্লিক করুন। ইনস্টলার তখন দেখবে যে কোন নির্ভরতা সমাধানের জন্য অন্যান্য প্যাকেজগুলি ইনস্টল করতে হবে। সুপারিশগুলি গ্রহণ করতে পরবর্তীতে ক্লিক করুন৷

একবার সমস্ত প্যাকেজ ডাউনলোড এবং ইনস্টল হয়ে গেলে, ইনস্টলার প্রস্থান না হওয়া পর্যন্ত শেষ পদক্ষেপগুলি অনুসরণ করুন৷ লিনাক্সের মতো উন্নয়ন পরিবেশে প্রবেশ করতে "সাইগউইন টার্মিনাল" শুরু করুন। টার্মিনালে আপনি "dir" এর মত উইন্ডোজ কমান্ড ব্যবহার করবেন না বরং "ls" এর মত শেল কমান্ড ব্যবহার করুন।

উইন্ডোজের অধীনে একটি লিনাক্স প্রোগ্রাম কীভাবে কম্পাইল করা যায় তা প্রদর্শন করতে, আমরা W3 থেকে HTML-XML প্যাকেজ ব্যবহার করব। এটি কী করতে পারে তা দেখার জন্য, কমান্ড লাইন থেকে HTML এবং XML ফাইলগুলিকে কীভাবে ম্যানিপুলেট করতে হয় তা দেখুন৷

“wget” ব্যবহার করে সোর্স ফাইল ডাউনলোড করুন:

wget https://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-6.7.tar.gz

এখন সংরক্ষণাগার ফাইলটি আনপ্যাক করুন:

tar -zxf html-xml-utils-6.7.tar.gz

সোর্স ফাইলগুলি এখন "html-xml-utils-6.7" ডিরেক্টরিতে রয়েছে৷ সেই ডিরেক্টরিটি লিখুন:

cd html-xml-utils-6.7

ফাইলগুলি তৈরি করার আগে, আপনাকে এই বিল্ড পরিবেশের জন্য উপযুক্ত মেকফাইল (বিল্ড নির্দেশাবলী) তৈরি করতে "কনফিগার" শেল স্ক্রিপ্ট চালাতে হবে। উৎস থেকে প্যাকেজ তৈরি করার সময় এটি লিনাক্সে (এবং সাইগউইন) একটি সাধারণ পদক্ষেপ।

./configure

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

একবার "কনফিগার" শেষ হয়ে গেলে, আপনি "make" ব্যবহার করে বিল্ড শুরু করতে পারেন:

make

বিল্ড আংশিক উপায় মাধ্যমে ব্যর্থ হবে. এরপর কি করা যায় তা নিয়ে দুই মনে ছিলাম। হয় আমি অন্য প্রকল্পে স্যুইচ করতে পারি এবং এটির উত্স থেকে এটি তৈরি করতে পারি বা HTML-XML-utils এর সাথে যুদ্ধ করতে পারি। আমি পরেরটির জন্য বেছে নিয়েছি কারণ এটি দেখায় যে সাইগউইনের অধীনে লিনাক্স প্রোগ্রামগুলি সংকলন করার চেষ্টা করার সময় সবকিছুই ওয়াক-ইন-দ্য-পার্কে হবে না। এই বিশেষ সমস্যার সমাধান সহজ। ত্রুটি বার্তা দেখায় যে লিঙ্কার "আইকনভ" লাইব্রেরি খুঁজে পেতে অক্ষম। লিঙ্ক কমান্ডের একটি দ্রুত নজর দেখায় যে লাইব্রেরি নির্দিষ্ট করা নেই। দ্রুত এবং নোংরা সমাধান হল কমান্ডটি ম্যানুয়ালি চালানো এবং লিঙ্কারকে libconv ব্যবহার করতে বলা। এটি ঠিক করার "যথাযথ" উপায় হল মেকফাইল ইত্যাদি কেন কাজ করছে না তা খুঁজে বের করা শুরু করা।

সাইগউইনের সাথে উইন্ডোজের অধীনে লিনাক্স প্রোগ্রামগুলি কীভাবে কম্পাইল করবেন

নিচের কমান্ডটি চালান, শেষে "-liconv" এর অন্তর্ভুক্তি লক্ষ্য করুন:

gcc -g -O2 -o hxindex.exe hxindex.o scan.o html.o openurl.o url.o heap.o class.o errexit.o connectsock.o types.o tree.o genid.o dtd.o headers.o dict.o fopencookie.o -liconv

একবার "hxindex.exe" ফাইলটি তৈরি হয়ে গেলে, আপনি আবার "make" লিখে বাকি বিল্ডটি চালিয়ে যেতে পারেন। "মেক" যেভাবে কাজ করে তা হল এটি কী তৈরি করা হয়েছে এবং কী করা হয়নি তা পরীক্ষা করে এবং তারপরে এটি উপযুক্ত বিন্দুতে নির্মাণ প্রক্রিয়া চালিয়ে যায়। যেহেতু আমরা ম্যানুয়ালি "hxindex.exe" তৈরি করেছি, তাই "make" শুধু তার তালিকার পরবর্তী বাইনারি দিয়েই চলে।

যখন "মেক" সম্পূর্ণ হয়, তখন আপনার কাছে html-xml-utils-6.7 ডিরেক্টরিতে সমস্ত .exe ফাইল থাকবে৷

আপনি সাইগউইন ব্যবহার করে আটকে গেলে আপনার FAQ এবং ডকুমেন্টেশনের দিকে নজর দেওয়া উচিত। এটি ব্যর্থ হলে, প্রকল্পটির মেলিং তালিকার একটি সেট রয়েছে৷ উপরে বর্ণিত ধাপগুলো নিয়ে আপনার যদি কোনো সমস্যা হয়, তাহলে অনুগ্রহ করে নিচের মন্তব্য বিভাগটি ব্যবহার করুন।


  1. লিনাক্সে কীভাবে একটি উইন্ডোজ 10 বুটেবল ইউএসবি তৈরি করবেন

  2. উইন্ডোজ অনুসন্ধানের সাথে কীভাবে সমস্যাগুলি সমাধান করবেন

  3. লিনাক্সে কীভাবে বুটযোগ্য উইন্ডোজ 10 ইউএসবি তৈরি করবেন

  4. রিমোট অ্যাক্সেস সহ একাধিক কম্পিউটারে উইন্ডোজ 10-এ স্টার্টআপ প্রোগ্রামগুলি কীভাবে পরিচালনা করবেন?