Citat:
tOwk:
Iz određenih „naročitih“ razloga mi je potrebno da držim preveden svež GNU/Linux, i to tako da izvorni kod GNU-a preuzimam preko CVS-a (ne treba mi često prevođenje Linux-a, već
Ako nemaš izuzetno mnogo slobodnog vremena, ili nisi mazohista, onda to ne želiš da radiš. Za svaki paket pogađati koja je poslednja verzija
koja radi, naročito ako ti paketi imaju međuzavisnosti (program koji zavisi od biblioteke, koja zavisi od druge biblioteke itd) je ako ne hod po mukama, a onda prilično zahtevan posao.
Evo primera od sinoć. Primetio sam da GAIM od verzije 0.71 ne želi da se povezuje sa MSN-om. Potpuno ga razumem, ali kako mi je ipak potrebno da se okačim na MSN, rešio sam da potražim šta se to dešava. Ispostavlja se da je MSN uveo dodatnu kriptografsku zaštitu (što je s obzirom na „bezbednost“ izvesnog „OS“-a i dotičnog programa sasvim besmisleno ali ajde sad) tako da je za pun ugođaj potrebno koristiti SSL. Dobro dakle, ali se to u GAIM-u ostvaruje korišćenjem biblioteke GNUTLN. Ovo sam morao da saznam sa GAIM foruma. Kao što vidiš do sada je sve linearno samo treba čitati.
Skinem gnutln, 0.8.11 na jedvite jade, pošto je iz nekog razloga krajnje teško preko google-a doći do matičnog sajta. Pokrenem prevođenje i naravno saznam da mi fale dve biblioteke: libgcrypt (koja je navedena u dependencies) ali i libgpg-error (koja nije). Pronađem najnoviji libgcrypt 1.1.43 i skinem, ali libgpg-error ni od korova. Skinem napokon iz CVS-a. libgpg se prevede srećom (a checkinstall ga postavi baš kako treba i registruje među Slek pakete, bravo za checkinstall). Prevedem i instaliram libgcrypt na isti način i probam da prevedem gnutln 0.8.11. BUM. Ne ide. Configure prolazi, ali pri prevođenju javlja misterioznu grešku „redefinition of ptrdiff_t“. Say what?! Kako bre dvostruka definicija ptrdiff_t, mislim to je standardan tip, šta se to dešava, alo Skali znaš li ti šta o tome?!
Dobro, skok na tln mejling listu. Search: build problem ptrdiff_t. No hits. Search gcc: found 1 -- „Re: gcc problem“ (vrlo ilustrativno) a unutra baš ono što sam tražio. Odgovor? 0.8.x traži libgcrypt 1.1.12, a za 1.1.43 treba 0.9.x. Okej, napred na skidanje 0.9.x... Ovaj... nigde ga nema.
Dobro dakle, skidamo iz CVS-a. Trč, trč. Build. Ista greška.
Hm, nazad na crtaću tablu. removepkg libgcrypt-1.1.43. Prevedi, instaliraj 1.1.12. Prevedi instaliraj gnutln. Prevedi instaliraj gaim. Wow. Radi. Naravno da sam skinuo odmah 1.1.12 cela stvar bi radila bez problema. Ali, tek sam u dotičnoj poruci sa mejling liste, i to sa neodgovarajućim naslovom tako da računam da je bila čista sreća što sam je iskopao, saznao koji je problem i to ne direktno, već posredno. Poruka je mogla da se shvati bar na dva načina od kojih sam ja na žalost izabrao onaj drugi. I ovo sve se desilo samo zato što sam hteo da preinstaliram jednu i samo jednu biblioteku.
Dakle čvrsto sam ubeđen da se na kraju dođe do rešenja, ali po cenu mnogo zagubljenog vremena. Ako aktivno ne pratiš dešavanja oko određenih programa i ne znaš tačno koje su međuzavisnosti, kao što recimo iako configure kaže da gnutln 0.8.11 traži >= 1.1.12 u stvarnosti verzija mora biti
tačno 1.1.12, onda ti je korišćenje programa iz CVS-a kao gajenje krda mačaka. Verovatno stvari nisu tako drastične ako pratiš relativno stabilne programe poput bash-a i koječega.
Garnome? Hm, čak i on ne radi, bar ne out of the box. Zato pamet u glavu. You are warned. :)
f