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.

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.

Našli jste v článku chybu?
Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

DigiZone.cz: Jetelín končí. Prima ho vyřadila

Jetelín končí. Prima ho vyřadila

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí karta

Do ostravské MHD bez jízdenky. Stačí karta

Vitalia.cz: Skutečně zdravá škola je ve 160 školách zdarma

Skutečně zdravá škola je ve 160 školách zdarma

Lupa.cz: Kdo vykrádá LinkedIn? Zjistit to má soud

Kdo vykrádá LinkedIn? Zjistit to má soud

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Podnikatel.cz: Youtuber? Za 15 tisíc dělat nebude

Youtuber? Za 15 tisíc dělat nebude

DigiZone.cz: Hodlá Markíza skončit v DVB-T?

Hodlá Markíza skončit v DVB-T?

Podnikatel.cz: Novela zákoníku práce. Řeší homeworking

Novela zákoníku práce. Řeší homeworking

120na80.cz: Víte, co je svobodná menstruace?

Víte, co je svobodná menstruace?

Vitalia.cz: dTest vybral nejlepší pomerančový džus

dTest vybral nejlepší pomerančový džus

DigiZone.cz: E! a zákulisí turné Mariah Carey

E! a zákulisí turné Mariah Carey

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Podnikatel.cz: Týká se vás EET? Chtějte od berňáku posudek

Týká se vás EET? Chtějte od berňáku posudek

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Vitalia.cz: Je bílý kokos fakt tak úžasný? Ano, je!

Je bílý kokos fakt tak úžasný? Ano, je!

DigiZone.cz: ČTÚ zveřejnil aktualizovaný D-Book

ČTÚ zveřejnil aktualizovaný D-Book

Vitalia.cz: „Sjíždět“ porno není bez rizika

„Sjíždět“ porno není bez rizika