লিনাক্স কার্নেলের সাথে নীচে /usr/include/linux
এবং নীচে শিরোনাম /usr/include/asm*
বিতরণ করা হয়। অন্যান্য শিরোনামগুলি ( /usr/include/sys/*.h
, /usr/include/bits/*.h
এবং আরও অনেকগুলি) সমস্ত সি-লাইব্রেরির সাথে বিতরণ করা হয় ( সমস্ত নন-এম্বেডেড লিনাক্স সিস্টেমে জিএনইউ সি লাইব্রেরি , যা গ্লিবিসি নামেও পরিচিত)। গ্লিবিসি ম্যানুয়ালটিতে কিছুটা ব্যাখ্যা আছে ।
নোট করুন /usr/include/linux
এবং /usr/include/asm
সি লাইব্রেরিটি সংকলনের সময় ব্যবহৃত শিরোনামগুলি থাকা উচিত, চলমান কার্নেল থেকে শিরোনামগুলি নয়। অন্যথায়, যদি কিছু ধ্রুবক বা ডেটা স্ট্রাকচার পরিবর্তিত হয় তবে সংকলিত প্রোগ্রাম এবং সি লাইব্রেরির মধ্যে একটি অসঙ্গতি থাকবে, যার ফলে ক্রাশ বা খারাপ হওয়ার সম্ভাবনা রয়েছে worse (যদি শিরোনামগুলি সি লাইব্রেরির সাথে মেলে তবে সি লাইব্রেরি কার্নেলের সাথে মেলে না, আসলে কী ঘটেছিল তা হ'ল কার্নেলটি একটি স্থিতিশীল এবিআই রাখার জন্য ডিজাইন করা হয়েছিল এবং এটি সনাক্ত করতে হবে যে এটি একটি ভিন্ন এবিআইয়ের অধীনে ডেকে আনা হয়েছে এবং সেই অনুসারে সিস্টেল আর্গুমেন্ট ব্যাখ্যা করতে পারে interpret স্থিরভাবে সংকলিত প্রোগ্রামগুলির জন্য কার্নেলকে অবশ্যই এটি করতে হবে))
আমার মনে আছে /usr/include/linux
ইস্যুটি সম্পর্কে কিছুক্ষণ আগে (এক দশক?) দেবিয়ান এবং রেড হাটের মধ্যে একটি উত্তপ্ত বিতর্ক মনে আছে ; স্পষ্টতই প্রতিটি পক্ষই তার অবস্থানকে আঁকড়ে ধরেছে। (আমি যতদূর বুঝতে পেরেছি, উপরে বর্ণিত হিসাবে ডিবিয়ান ঠিক আছে)) দেবিয়ান বর্তমানে প্যাকেজে বিতরণ করে /usr/include/linux
এবং বন্ধুদের ভাগ করে দেয় linux-libc-dev
, যা কার্নেল উত্স থেকে সংকলিত কিন্তু কার্নেলের সাথে আপগ্রেড হয় না। কার্নেল শিরোনামগুলি সংস্করণ-নির্দিষ্ট প্যাকেজগুলিতে linux-headers-2.6
মেটাপ্যাকেজ সরবরাহ করে ; একটি নির্দিষ্ট কার্নেল সংস্করণের জন্য আপনাকে মডিউলটি সংগ্রহ করতে হবে এটি।
আপনি যে প্যাকেজটির সন্ধান করছেন সেটি হ'ল সি লাইব্রেরির শিরোনাম। এটাকে কী বলা হয়েছে তা আমি জানি না তবে আপনি এটির মাধ্যমে এটি খুঁজে পেতে পারেন yum provides /usr/include/sys/types.h
।
glibc-headers
।