Altındaki /usr/include/linux
ve altındaki üstbilgiler /usr/include/asm*
Linux çekirdeğiyle dağıtılır. Diğer başlıklar ( /usr/include/sys/*.h
, /usr/include/bits/*.h
ve daha pek çoğu) C kütüphanesiyle ( tüm yerleşik olmayan Linux sistemlerinde glibc olarak da bilinen GNU C kütüphanesi ) dağıtılır . Glibc kılavuzunda küçük bir açıklama var .
O Not /usr/include/linux
ve /usr/include/asm
C kütüphanesi, çalışan çekirdekten değil başlıklar derlerken kullanıldı başlıklarını içermelidir. Aksi takdirde, bazı sabitler veya veri yapıları değiştiyse, derlenmiş program ve C kütüphanesi arasında bir çökme veya daha kötü sonuç vermesi muhtemel bir tutarsızlık olacaktır. (Başlıklar C kütüphanesiyle eşleşiyorsa, ancak C kütüphanesi çekirdeğe uymuyorsa, aslında çekirdeğin kararlı bir ABI tutacak şekilde tasarlanması ve bunun farklı bir ABI altında çağrıldığını tespit etmesi ve sistem çağrı argümanlarını buna göre yorumlaması gerekir. Çekirdek statik olarak derlenmiş programlar için bunu zaten yapmalıdır.)
Debian ve Red Hat arasında bir süre önce (on yıl önce) hararetli bir tartışmayı hatırlıyorum /usr/include/linux
; Görünüşe göre her iki taraf da yerine yapışıyor. (Anladığım kadarıyla, Debian yukarıda açıklandığı gibi haklıdır.) Debian şu anda çekirdek kaynaklardan derlenen ancak çekirdekle yükseltilmeyen pakete /usr/include/linux
ve arkadaşlarını dağıtır linux-libc-dev
. Çekirdek başlıkları, linux-headers-2.6
meta paketi sağlayan sürüme özgü paketlerde bulunur ; belirli bir çekirdek sürümü için bir modül derlemeniz gereken budur.
Aradığınız paket C kütüphane başlıklarıdır. Ne dendiğini bilmiyorum, ama öğrenebilirsin yum provides /usr/include/sys/types.h
.
glibc-headers
.