Kernel a header soubory - symlinkovat nebo ne?

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Září 2 16:36:00 CEST 2001


On Thu, 30 Aug 2001, Martin Hassman wrote:

> V linuxovych novinach c. 3 :-o se pise, ze musi existovat symlinky
> /usr/include/asm|linux|scsi do zdrojaku jadra. Na RedHatu 6.2 tomu 
> tak bylo jen castecne, v RedHatu 7.1 uz tomu tak neni, jsou to 
> skutecne adresare (byt z balicku kernel-headers).
> 
> V Kernel Cousins no. 80 (diky Leosi Literakovi, ze to preklada, je to 
> skvely - jen uz je jistou dobu fakt ve skluzu :-) jsem cetl, ze linky 
> se nedoporucuji. Linus tam rika, ze by glibc nemelo pouzivat 
> hlavickove soubory jadra, pak by totiz mohly byt programy zavisle na 
> verzi jadra.

Adresare /usr/include/{asm,linux} jsou urceny predevsim pro drsne
programy, co maji potrebu strkat nos do vnitrnosti jadra -- a mely by
obsahovat (at uz primo nebo pres symlinky, na tom tolik nezalezi) headery
z jadra (i kdyz ne nutne presne toho prave provozovaneho). Adresar scsi je
takovy mezni pripad, ktery se historicky z kategorie "kernel" presunul do
kategorie "userland" (a je obsazen primo v glibc).

V drivejsich dobach tomu bylo tak, ze se jaderne headery vkladaly
zprostredkovane pres headery z (g)libc de facto do vsech programu, ale
pozdeji se usoudilo, ze jaderne headery jsou tady pro potreby jadra a
ze glibc ma mit vlastni deklarace & definice pro jaderne rozhrani. Na
jednu stranu to znamena, ze popis rozhranu existuje dvakrat a je zde
asi vetsi riziko nekonzistenci (i kdyz zodpovednejsi cast jadernych
vyvojaru to mozna motivuje k tomu, aby binarni kompatibilitu dodrzovali
aspon smerem ven), na druhou stranu to treba znamena, ze se glibc
a na nem postavene programy stavaji nezavislejsi na tom, ktere verze
jadernych headeru jsou zrovna v dobe prekladu k dispozici.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux