FB Share Icon FB Share Icon FB Share Icon FB Share Icon FB Share Icon FB Share Icon FB Share Icon
man ./freezyweb

Kompilujeme v GNU/Linuxu 26.7.2008

Často se potýkám s prohlášení Kompilování je složité, mi to nejde, Linux je složitý... Tak si o tom zkusíme něco trošku říct. smile

Co budeme potřebovat

Ke správné kompilaci potřebujeme "kompilační sadu" a to přesněji balíky automake libtool make build-essential flex bison byacc scons fakeroot dh-make gcc-3.4 linux-headers-$(uname -r) případně ještě checkinstall který není podmínkou. Dořešíme závislosti k programu který budeme kompilovat, ty nalezneme na stránkách projektu, kde také nalezneme zdrojáky potřebné ke kompilaci.

Jdeme na věc

Po splnění všech závislostí a nainstalování zmíněné kompilační sady, můžeme přistoupit k samotné kompilaci. Tu provedeme pomocí tří jednoduchých příkazů ./configure && sudo make && sudo make install

Nyní už máme vše potřebné a můžeme si krok po kroku říct jak budeme kompilovat. Nejprve si otevřeme okno terminálu, v KDE napři příkazem konsole nebo v Gnome příkazem gnome-terminal popřípadě příkazem xterm který by měl fungovat ve všech prostředích založených na X11. Pomocí cd slozka/ přejdeme do složky, kde máme stažené zdrojové kody, ze kterých budeme kompilovat. Většina zdrojových kódů se dodává zabalená v tarballu, pokud máme takto dodané zdrojáky rozbalíme je pomocí tar -xf nazev.tar.gz poté přejdeme do složky vzniklé při rozbalení cd nazev/ Nyní můžeme přistoupit k samotné kompilaci ze zdrojového kodu. Zadáme první z trojice příkazů: ./configure který nám prověří závislosti, pokud nám vyplivne nějakou chybu, koukneme o jakou chybu se jedná a doplníme chybějící závislost, také se může stát, že se snažíme skompilovat verzi nekompatibilní s našim kernelem. smile Ale řekněme, že vše proběhlo bez problému a můžeme přistoupit k zadání druhého příkazu a tím je příkaz make popřípadě sudo make který nám připraví zdrojové kódy přímo pro náš kernel a pak můžeme přistoupit ke kompilaci programu. smile Tu provedeme příkazem sudo make install Osobně doporučuji před zadání tohoto příkazu zadat ještě jeden příkaz, a to fakeroot který nás trošku netradičním způsobem přepne do rootovské konzole, kde můžeme všecko. smile

Pokud vše proběhlo bez problému máme v systému nový program a můžeme jej začít používat. Jestliže kompilujeme program, který zavádí nějaké kernel moduly nebo se má spustit při startu systému, není od věci udělat restart počítače, popř tento program zavést ručně, aby plně fungoval.

Závěrem

GNU/Linux a kompilování nejsou složité, jen je třeba přestat hledat to zatracené tlačítko "Next" smile Kdo používá Linux delší dobu mi jistě potvrdí, že na něm není nic složitého. Jediné složité na Linuxu je pochopit, že je to jednoduché... smile

img Kompilační sada

Předchozí článek: Ladíme si Operu #1
kategorie: pc a linux | přejít: nahoru | zobrazit: aktuální články
Sdílet pomocí: | facebook Facebook.com |

Komentáře

Freezy
14:37 - 18.03.09Freezy:

 to Leinad: stane se to a občas, ale stane například u starších vydání především debianu byl dost často problém s ndiswrapperem, nevytvořil se při instalaci z repos kernel modul a následně ndiswrapper nejel a problém byl na světě a někdy je opravdu jednodušší něco skompilovat než hledat balík pro danou distribuci, pokud ten balík není v repos
Leinad
12:57 - 18.03.09Leinad:

 "Ručně" kompiluji, když to nejde jednodušeji. Když je balík v repos, tak "proč se podrbat levou rukou na levé straně hlavy, když to jde i pravou, že?" Kolikrát se domácí uživatel dostane do situace, že mu něco chybí?

Gentoo také kompiluje, ale příkaz mu nezadám.
Freezy
16:06 - 03.12.08Freezy:

 to Leinad: jooo? a kde máš synaptic v distrech co nemají balíčkovací systém? jak nainstaluješ něco co není v repos nebo pro co není vůbec .deb nebo jiný balík? navrhneš aliena, že si to převedeš, že? ale proč se podrbat levou rukou na levé straně hlavy, když to jde i pravou, že?
Leinad
15:57 - 03.12.08Leinad:

 Proč kompilovat? Já při první instalaci nebo velkých změnách rád klikám v aptitude či Synaptic. Pokud mi chybí konkrétní balík, užiji apt-get.
Ano, kompilace je jednoduchá, když nenastanou chyby. Co není v repositářích je nutné kompilovat.
martasbncz: ne že bych si myslel, že Okna jsou rychlá, (když zrovna neprovádí první boot nebo nepadá kvůli solitare celé jádro) ale máš to podloženo statisticky? Vážně je v RAM jenom to co není potřeba?
Klima8
19:02 - 01.08.08Klima8:

 Gat*s je technař
Freezy
18:59 - 01.08.08Freezy:

 to martasbncz: tak tak, proč šetřit hdd, když to je tak pěkné jak disk furt hrabe a ta kontrolka tak krásně bliká
martasbncz
11:59 - 01.08.08martasbncz:

 Freezy+Klima8
...ano,tento proces (načítání ram vs hdd ) byl vymyšlen za použití nemalých prostředků nejmenovanou firmou k udržování daného hw v takzvaném režimu /postřeh + nic nesmí usnout/
Klima8
20:09 - 31.07.08Klima8:

  tak tak widle dokážou dávat nepoužívané procesy na ram a ty používané na HDD
Freezy
20:01 - 31.07.08Freezy:

 to Klima8: to je tím, že widle všecko tlačí na disk místo, aby, jako normální os, všecko tlačily do ramky a jen nepoužívané procesy rvaly na diskovou cache
Klima8
10:48 - 31.07.08Klima8:

 včera jsem instaloval něco na *kašel* Vistě *kašel* a jsem upřímně rád že jsem u Linuxu protože to se člověk snad ukliká než se to nainstaluje a ta "rychlost" instalace na 4jádru 2GHZ a 4GB ram je nesrovnatelně pomalejší s mou na mám 1.5GHZ a 512Ram

héj příklad 15+15 to dám dokonce aj z hlavy
Freezy
18:58 - 29.07.08Freezy:

 to Klima8: není naštěstí
Klima8
22:05 - 27.07.08Klima8:

  tam to next schováváš tam někde bude...
Freezy
10:38 - 27.07.08Freezy:

 to mibrt: nj, ale když to není v repos, tak co ti zbývá kompilace je jak ch*aní... taky se ti nechce vztávat, ale když musíš, tak prostě musíš
mibrt
08:01 - 27.07.08mibrt:

 Není to složité, ale mě nebaví hledat právě ty závislosti, jistí to apt-get
Freezy
03:47 - 27.07.08Freezy:

 to Klima8: co je na tom složitého? přestaň hledat to "Next"
Klima8
03:28 - 27.07.08Klima8:

 to je moc složité

pěkný návod

Vlož také svůj názor





Kód


Komentáře podporují gravatary.
Adresy začínající na "www" nebo "http://" budou automaticky převedeny na odkazy. Tyto odkazy prosím oddělujte mezerou, děkuji.
ENTER se naformátuje jako nový řádek

Copyright © Freezy | e-mail | jabber | Created by Meebio Webdesign, All rights reserved | Odkazy | Nahoru