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

Leoš Literák 21. 11. 2000

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.

widgety

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.

Ohodnoťte jako ve škole:

Průměrná známka 2,83

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Vitalia.cz: Očkování a autismus ve světle vědeckého objevu

Očkování a autismus ve světle vědeckého objevu

120na80.cz: 10 nejžádanějších bylinných čajů

10 nejžádanějších bylinných čajů

Vitalia.cz: Češi jsou tatarkožrouti

Češi jsou tatarkožrouti

Vitalia.cz: Proč jsou po vyřazení lepku zdravější?

Proč jsou po vyřazení lepku zdravější?

Vitalia.cz: Farmářské trhy na Kulaťáku - už 250x

Farmářské trhy na Kulaťáku - už 250x

Vitalia.cz: Jak se žije na kozí farmě

Jak se žije na kozí farmě

Vitalia.cz: Pomóc! Obyčejný knoflík je dohání k šílenství

Pomóc! Obyčejný knoflík je dohání k šílenství

Vitalia.cz: Tyhle cupcaky je hřích sníst

Tyhle cupcaky je hřích sníst

Podnikatel.cz: Když si reklamou "zabíjíte" zákazníky

Když si reklamou "zabíjíte" zákazníky

Lupa.cz: Komentáře pod články mohou vydělávat. Jak?

Komentáře pod články mohou vydělávat. Jak?

Podnikatel.cz: Poděs, Slibotechna a další. Ty berte obloukem

Poděs, Slibotechna a další. Ty berte obloukem

DigiZone.cz: Přechod na DVB-T2 nabírá zpoždění

Přechod na DVB-T2 nabírá zpoždění

Lupa.cz: Jak na internetu sehnat poctivého řemeslníka?

Jak na internetu sehnat poctivého řemeslníka?

DigiZone.cz: DVB-T2 à la Nova: „zadarmo“ bude jen ČT

DVB-T2 à la Nova: „zadarmo“ bude jen ČT

Lupa.cz: Roaming se mění. Co byste o něm měli vědět?

Roaming se mění. Co byste o něm měli vědět?

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

120na80.cz: Akce na podporu lidí s hemofilií

Akce na podporu lidí s hemofilií

DigiZone.cz: Böhmen und Mähren v režii Ondřeje Trojana

Böhmen und Mähren v režii Ondřeje Trojana

Podnikatel.cz: Obavy z EET? Nejvíc se bojí, aby na to měli

Obavy z EET? Nejvíc se bojí, aby na to měli

Lupa.cz: Stát chce vytěsnit malé firmy z trhu

Stát chce vytěsnit malé firmy z trhu

Ušetřete