====== بناء البرامج من المصدر على لينكس ======
**الشفرة المصدرية (Source Code)** هي الشفرة التي يكتبها المبرمجون والمطورون بغرض إنشاء البرامج التي يريدونها. يكتبونها على شكل نص صرف باستعمال أي لغة برمجة مثل سي أو Rust أو غيرها من اللغات، ثم يقومون ببناء الشفرة المصدرية تلك لمختلف معماريات الحاسوب التي يريدون دعمها.
\\
لاحظ أننا في هذا المقال نتحدث عن البرامج المكتوبة بلغات البرمجة التصريفية (Compiled Programming Languages) مثل C وغيرها، ولا نتحدث عن لغات البرمجة المُفسّرة مثل بايثون وروبي وPHP وأشباهها، فهذه اللغات لا تحتاج البناء من المصدر بل تُشغل فورًا على مختلف المعماريات عن طريق برنامج المفسّر الجاهز.\\
\\
ليست جميع الحواسيب مصممة على نفس الطريقة، بل هناك تشكيلات مختلفة من اللوحات الأم وطرق توزيع وتصميم عتاد الحاسوب، وهي موصّلة ببعضها بطرق مختلفة وتتحدث لغة ثنائية (Binary language) مختلفة، ولهذا لا يمكن بناء البرنامج من المصدر مرة واحدة ثم تشغيله على جميع هذه المعماريات، بل يجب بناؤه من المصدر لكلٍ منها على حدى، كما أن بناء البرامج من المصدر على أنظمة ويندوز وماك يختلف عن بناء البرامج من المصدر على لينكس (أي أنه يختلف باختلاف نظام التشغيل كذلك).
أشهر هذه المعماريات معمارية x86 بإصداريها 32 بت و64 بت، وهي الأشهر والأكثر استخدامًا ونستخدمها جميعنا على حواسيبنا، لكن هناك معماريات أخرى مثل ARM للأجهزة الصغيرة والمحدودة الأداء والهواتف المحمولة، ومعمارية RISC-V مفتوحة المصدر، ومعمارية PowerPC التي لم يعد الكثيرون يستخدمونها لقدمها.
يشيع استخدام مبدأ الحزم (Packages) على نظام لينكس، فتأتي البرامج جاهزة للتثبيت بنقرة زر أو عبر سطر أوامر واحد بسيط بفضل تحزيم البرنامج كملف واحد قابل للتثبيت بصيغة .deb أو .rpm أو غيرها من الصيغ. وصحيحٌ أن معظم البرامج متوفرة بهذه الصيغ، لكن أحيانًا لا تكون متوفرة وبالتالي ستحتاج بناء البرنامج من المصدر إن أردت تثبيته على جهازك.
===== خطوات بناء البرامج من المصدر على لينكس =====
تختلف الخطوات باختلاف البرنامج، وباختلاف اللغة البرمجية والأدوات المستعملة، لكن معظم البرامج مكتوبة بلغة سي ولهذا فإن الخطوات غالبًا ما تكون سهلة، كما أن المبرمجين يهيئون برامجهم ليبنيها المستخدمون من المصدر باستخدام أدوات make.
1. نطبق الأمر التالي لتجهيز عملية البناء والتحقق من وجود الاعتماديات اللازمة (Dependencies) من داخل المجلد الذي يحوي الشفرة المصدرية:
./configure
2. ثم نقوم ببناء البرنامج من المصدر عبر هذا الأمر:
make -j5
حيث أن الرقم بعد حرف j يشير إلى عدد السياقات (Threads) الذي تريد استعماله لبناء البرنامج من معالجك، فإذا كان حاسوبك مثلًا يأتي بـ4 أنوية و8 سياقات، فيمكنك استعمال 6 سياقات مثلًا لعملية البناء من المصدر بهدف تسريعها، وإلا ستأخذ وقتًا طويلًا جدًا.
3. إن انتهت العملية السابقة بدون أخطاء فيمكنك تثبيت البرنامج الآن عبر:
sudo make install
ثم ستُنقل الملفات إلى قرص الجذر (Root) الخاص بك وسيصبح البرنامج مثبتًا.