Hlavní navigace

Triky pro začátečníky (9)

21. 11. 2000
Doba čtení: 3 minuty

Sdílet

Ne Deli, ale Triky pro začátečníky jsou zpátky! A na četné žádosti se budou zabývat kompilací programů ze zdrojových kódů. Sice jen povrchně, ale myslím, že důležitější jsou principy, než rady typu "Při kompilaci Midnight Commanderu přidejte přepínač --with-slang jako parametr skriptu configure".

Začátkem článku bych chtěl vysvětlit dlouhou odmlku. Finišoval jsem jeden projekt, psal článek shrnující události kolem Linuxu za posledních dvanáct měsíců pro časopis Network Computing (skrytá reklama [tm]) a hlavně hledal jsem nové zaměstnání. Takže jsem další Moravák, co skončil v Praze. Ach jo.

Leč vrhněme se do víru zdrojových textů. Určitě se vám stalo, že jste na Internetu našli zajímavý program, ale bez binárních souborů. Ono to zase není nic moc neobvyklého, vývojáři totiž nemají čas připravovat zkompilované balíčky pro nejrůznější platformy, operační systémy a v případě Linuxu i distribuce či verze distribucí. Většinou programátor vytvoří jeden binární balíček pro operační systém, který používá a pokud se tento OS neshoduje s tím vaším, musíte si stáhnout zdrojové texty a zkompilovat si je sami. Nebojte, není to žádná hrůza.

Asi bych zmínit ještě jeden důvod, proč někteří lidé preferují zdrojové kódy před binárkami. Tím důvodem je bezpečnost. U spustitelných souborů si nemůžete být jisti, zda neobsahují nějaký backdoor či trojského koně. Nemusí to být přímo zlomyslnost autora programu. Klidně se může stát, že mu někdo crackne mašinu a vymění binárku za vlastní, upravenou verzi. Vzpomínám si matně, že před pár léty se něco podobného stalo nějakému většímu ftp serveru, který pak šířil škodlivý kód. Pokud si na tuto kauzu někdo vzpomíná, byl bych mu vděčen za podrobnosti v diskusním fóru.

Pokud máte k programu zdrojové kódy, máte bezpečnost ve vlastních rukou (přesněji iluzi bezpečnosti). Nic vám totiž nebrání sednout si k počítači a přečíst si celý zdroják a hledat neobvyklé konstrukce. Na takový audit můžete u komerčního proprietárního softwaru rovnou zapomenout.

Takže jste se rozhodli (byli jste okolnostmi přinuceni) stáhnout si zdrojové kódy. OK. Než začnete mučit svou linku, promyslete si, jakou verzi budete používat. Řada programů totiž existuje ve dvou řadách – jedné relativně stabilní a funkční a druhé vývojové, která má sice spoustu nových úžasných vlastností, ale je nestabilní, padá a pokud se jedná o systémové utility, může zničit i obsah disku. Každopádně si přečtěte všechny dostupné informace a pokud nechcete být betatester, nestahujte vývojové verze. A hlavně nezapomeňte, že málokterý programátor je placen za vývoj svého Open Source projektu, takže pokud něco nefunguje, nevyčítejte mu to. Naopak, pokud se vám program líbí, pochvalte jej.

Dalším krokem je stáhnutí veškerého potřebného softwaru. To opět znamená pečlivé pročtení dokumentace a případné stáhnutí a instalovaní dalších programů či knihoven. Určitě tento krok nepřeskočte, ušetříte si spoustu problémů. Hotovo? Dobře, nyní si tedy zdrojáky stáhněte na svůj počítač a rozbalte je. V adresáři se zdrojáky si přečtěte soubory README a INSTALL, případně obsah adresáře doc. Řiďte se instrukcemi. Obecně mají následující tvar: ./configure, make a nakonec make install. Někdy je třeba přidat parametry skriptu configure. Takto se dají například ovlivnit lokace některých knihoven nebo předvolené adresáře. Nemám teď po ruce zdrojáky Apache, ale určitě se takto dá určit, zda je jeho kořenovým adresářem /home/httpd nebo třeba /usr/local/httpd. Parametry najdete buď v dokumentaci anebo na začátku skriptu configure. Také jej můžete spustit s parametrem –help. Obvykle se ale o to nemusíte starat a spustíte jej bez parametrů.

Configure je vůbec zajímavý skript. Projde si váš počítač a zjistí jeho nastavení a ověří si, zda máte nainstalovány všechny knihovny. Nebudu vás nudit technickými detaily, protože je stejně neznám :-). Po fázi testu přijde na řadu generování Makefilu, který pak přesně odpovídá vašim potřebám.

UX DAy - tip 2

Pokud zdroják neobsahuje skript configure, je dobré prohlédnout si Makefile a případně jej opravit. Jedná se hlavně o některé parametry. Například CFLAGS (obvykle vypnout generováni informací pro debugger a zapnout optimalizaci). Předposledním krokem je spuštění příkazu make. Pokud se program zkompiloval správně, příkazem make install je nainstalujete.

To je zhruba všechno. Další tipy určitě najdete v diskusním fóru. Ale opět na vás apeluji, RTFM (čtěte tu zatracenou dokumentaci)! Pokud si chcete zkompilovat vlastní jádro, postup je make menuconfig, make clean, make dep, make bzImage, make modules a make modules_install. No, to je vlastně zajímavý námět na další díl, takže někdy příště se těšte na kompilaci jádra.

Byl pro vás článek přínosný?