Uff (Povzdech) [ Was Kernel 2.4.18-17.7.x nejde prelozit s glibc-kernheaders-2.4-7.16 ]

Miroslav BENES mbenes na tenez.cz
Středa Říjen 30 10:11:20 CET 2002


> Ja som to pochopil takto: Userspace aplikacia je prekladana
> a linkovana proti glibc. Nie proti jadru. Takze by mala
> pouzivat to, co pozna glibc. A glibc pozna to, proti
> comu bola kompilovana a nie to, co je prave na masine.
> Takze ked uz priamo alebo nepriamo potrebujete nieco
> z hlaviciek jadra, tak potrebujete tie, ktore tam boli
> v case kompilacie glibc.

OK, tohle je docela srozumitelne. Diky za objasneni.


> ...Treba
> si uvedomit, ze glibc je robena tak, aby fungovala proti
> jadru 2.2 aj 2.4.

Opravdu ? Mel jsme dojem, ze nove verze glibc jsou uz natolik 
provazane s jadry 2.4, ze navrat zpet neni mozny - viz problemy 
kolegy, ktere se tu probiraly nedavno.


> Chcete naozaj pri preklade definovat,
> co je prave dnes /usr/include/asm?

Ne. Ale na druhou stranu chci pri upgr jadra vyuzivat jeho 
novejsich vymozenosti - mozna se vyjadruju nepresne, ale jde mi 
o to, ze npvejsi jadro muze mit vlastnosti, ktere by aplikace 
treba i rada vedela a vyuzila, ale takto se k nim nedostane.  
Berte me ale s rezervou, protoze pod linuxem (zatim) 
neprogramuji a ridim se v tomto spis selskym rozumem.


> Jadro viac (stabilne verzie) ci menej (prechod medzi
> verziami) garantuje rozhranie na urovni syscallov.
> Na urovni header suborov je garancia daleko mensia,
> ak vobec nejaka.

Pak je ale otazka, zda aplikace ma nebo nema vedet, ze se neco 
zmenilo.
Priklad z praxe - budu si kompilovat mplayer. Budu chtit, aby 
umel pracovat se soubory > 2GiB. Tuto volbu mu sice muzu vnutit 
pri konfiguraci, ale on si ji pred testem (pravdepodobne) stejne 
vypne, Protoze nebude vedet, ze jadro je patchnuto a ze to 
podporuje. Budou se nacitat "puvodni" hlaviskove soubory, ve 
kterych o patchi na velke soubory neni zminka ...
Jak by to bylo v tomto pripade ? Uvazuji zcela hypoteticky, 
protoze velke soubory zatim nepouzivam a jejich podpora je mi 
zcela lhostejna. Zatim.


> :> ... or include the kernel headers
> :> (or just the parts of the headers) you need directly in your source for
> :> compilation. Only this way can you ensure a consistent state.
> 
> : Tuto cast jsem asi nepochopil. mohl by to nekdo rozvest ?
> 
> Ze si proste tie potrebne hlavicky strcite do svojich zdrojakov
> namiesto toho, aby ste ich hladali na aktualnom systeme.


Ja chapu vyznam tech slov, ale nechapu vyznam toho sdeleni.
Tvrdi se tam, ze mame pripadne hlavickove soubory zahrnout primo 
do zdrojaku aplikace. Ale to je prece v rozporu s prvnim 
odstavcem (ze je aplikace linkovana proti glibc a ne proti 
jadru).
Pak je ale dobre ptat se, jestli takove aplikace ktere vyzaduji 
"primy styk s hlavickami jadra" nebude lepsi uspokojit tim 
puvodnim nedoporucovanym zpusobem - tedy prehozenim linku s 
hlavickami do aktualniho jadra. "Konzervativnejsi" aplikace si 
pak stejne vezmou jen "bezne" veci, ktere se moc nemeni a tudiz 
by jim takova zmena hlavicek nemela moc ublizit ...



--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux