Osnove kompajliranja


Recimo da ste umjereno iskusni Linux korisnik, a želite instalirati program s Interneta, ali nema lijep paket koji radi na vašem sustavu.

Veliki broj korisnika, čak i dosta iskusni, imaju problema s odlaskom iz tarball na instalirani program, jer jednostavno ne znaju da se to može obaviti u nekoliko jednostavnih koraka. Ali to je samo jednostavno, ako već znate kako to učiniti! Dakle, ovo je brz vodič o tome kako instalirati stvari sa developer web stranice.

 

Korak 1: Pripremi svoj sustav za izgradnju paketa

terminalPo defaultu, Ubuntu ne dolazi s potrebnim alatima. Morate instalirati paket buid-essentials za izradu paketa i checkinstall za stavljanje u svoj package manager. To se može naći na CD-u ili instalirati iz repozitorija, tražeći u Synaptic Package Manager ili korištenjem naredbenog retka apt-get:

sudo apt-get install build-essential checkinstall

A  da biste mogli instalirati projekte bez objavljene inačice, trebali biste instalirati odgovarajući softver za upravljanje verzijama.

sudo apt-get install cvs subversion git-core mercurial

Nakon toga treba odrediti mapu, gdje ćete graditi ove pakete. Preporučamo Vam kreiranje / usr / local / src, ali stvarno ga možete staviti bilo gdje. Provjerite je li u ovom direktoriju dozvoljeno pisanje-brisanje iz vašeg primarnog korisničkog računa:

sudo chown $ user / usr / local / src

i, samo da bi bili sigurni:

sudo chmod u + rwx / usr / local / src

Nakon toga, imate sve što vam treba za početak kompajliranja.

Korak 2: Dobavite program koji želite

Većina softvera koji želite dolazi spremljen u tarball. To su samo komprimirane arhive s nastavcima kao što su tar.gz ili tar.bz2 -.. Oni su baš kao i zip datoteke na Windows ili na MacOS X, ako je to analogija koja ti pomaže…

Ako program koji želite instalirati dolazi u ovom obliku, trebali biste ga premjestiti u / usr / local / src direktorij, koji smo napravili u koraku 1, a ekstrakt desnim klikom na datoteku i odabirom ekstrakt ovdje, ili pomoću naredbene linije.

Ako je Vaš tarball gz, ekstrakt datoteke učinite s naredbom:

tar xzvf tarballnaziv.tar.gz

i za bz2 sličnu naredbu:

tar xjvf tarballnaziv.tar.bz2


U rijetkim slučajevima dobivanja programa iz CVS ili Subversion repozitorija, programeri će općenito pružiti upute o tome kako to učiniti na svojim web stranicama. Ako ste već instalirali pakete iz Koraka 1, trebate samo promijeniti na / usr / local / src direktorij (cd / usr / local / src), te pokrenuti naredbe koje su navedene.

Postupak će se razlikovati od programa do programa, pa vam ne mogu pomoći ovdje, ali s obzirom na dane upute, trebalo bi raditi glatko.

Napomena: Ako ste preuzeli iz izvora kao što su Git, SVN, ili bilo kojeg drugog repozitorija izvornog koda onda je vjerojatno da / configure datoteka još nije generirana:

autogen.sh

iz vršnog direktorija preuzete datoteke.

Ova naredba se oslanja na automake i autoconf programe i automatski će izgraditi konfiguracijske datoteke i pokrenuti ./ configure naredbu.

Nakon ovog koraka možete nastaviti pokretanje naredbom:

make

Korak 3: Rješavanje međuovisnosti

Jedna lijepa stvar u modernim Linux distribucijama je oni vođenje brige o međuovisnostima za korisnika.

To znači, ako želite instalirati program, apt program će se pobrinuti da instalira sve potrebne libraryje i druge zavisnosti programa, tako da kad instalirate program, to nikada nije teže nego samo navesti ono što vam je potrebno i on će učiniti ostalo.

Nažalost, s tarball to nije slučaj, a vi ćete morati to učiniti ručno. To, u ovoj fazi, zna biti frustrirajuće i za iskusnije korisnike, jer se boje da neće znati šta im je sve potrebno.

Slijedeće upute odnose se za ispunjavanje ovisnosti ručno:

Za pripremu, instalirajte paket apt-file, a zatim pokrenite sudo apt-file update. To će preuzeti popis svih dostupnih paketa i svih datoteka koje ti paketi sadrže, što je, kao što ste mogli očekivati, vrlo veliki popis. Dok se učitava, neće Vam dati povratne informacije – zato samo čekajte.

Apt-file program ima neke zanimljive funkcije, dvije najkorisnije su apt-file search koje traži ime određene datoteke, a apt-file list prikazuje sve datoteke u određenom paketu.

Da biste provjerili ovisnosti svog programa, prebacite se u direktorij ste stvorili u koraku dva (cd / usr / local / src). Vađenje tarball ili preuzimanjem iz CVS / subversion će napraviti pod-direktorij pod / usr / local / src, koji sadrži izvorni kod. Ovaj novostvoreni direktorij će sadržavati datoteku pod nazivom “configure”, koji je skripta, kako bi bili sigurni da se program može sastaviti na vašem računalu.

Da biste ga pokrenuli, pokrenitei naredbu ./configure

Ova naredba će provjeriti da li ste dobili sve programe potrebne za instalaciju programa . U većini slučajeva nećete, i ona će se vratiti s porukom o pogrešci.

Ako pokrenete ./configure bez opcija, koristiti će zadane postavke za program. Većina programa ima niz postavki koje možete uključiti ili isključiti, ako ste zainteresirani provjeritei README i INSTALL datoteke, koje se nalaze u direktoriju nakon dekompresije tar datoteka. Možete provjeriti dokumentaciju developera i, u mnogim slučajevima ./configure –help će dati popis nekih od ključnih konfiguracija koje možete učiniti. Vrlo uobičajena opcija je ./configure –prefix=/usr koji će instalirati vaš zahtjev u /usr umjesto /usr /local kao u ovim uputama.

Ako se to dogodi, zadnji redak će biti nešto poput :
configure: error: Library requirements (gobbletygook) not met, bla bla neke stvari kje nas ne zanimaju itd

Ali, iznad će biti popis datoteka koje ne može pronaći (često datoteke završava sa “.pc”, na primjer).

Što trebate učiniti je:

apt-file search naziv_fajla_koji_nedostaje.pc

koji će vam reći u kojem je Ubuntu paket datoteka koja nedostaje.

Zatim možete jednostavno instalirati paket koristeći:

sudo apt-get install traženipaket

Zatim opet probati ./configure , i vidjeti da li radi.

Ako ste dobili hrpu teksta koji završava s config.status: creating Makefile, nakon kojega nema očite pogreške, spremni ste za daljnje korake.

Korak 4: Build i Install

Ako ste već došli ovako daleko, najgore je iza vas.

Sada sve što trebate učiniti je pokrenuti naredbu:

make


koja radi stvarnu izgradnju (sastavljanje) programa.

Ako je veliki program ili ako imate vrlo sporo računalo, idite na kavu ili nešto slično. Ukoliko imate višejezgreni procesor također možete postaviti varijablu CONCURRENCY_LEVEL na broj procesora/jezgri, i malo ubrzati stvar.

Kada je učinjeno, instalirajte program.Vjerojatno želite koristiti:

sudo checkinstall

koji stavlja program u package manager za čisto, jednostavno uklanjanje. On zamjenjuje staru sudo make install naredbu.

Napomena: Ako checkinstall ne uspije, možda ćete morati pokrenuti naredbu:

sudo checkinstall –fstrans = 0

Koji bi trebao omogućiti da instaliranje završi uspješno.

Zatim počinje završna faza instalacije. To ne bi trebalo trajati dugo.

Kada završite, ako ste koristili checkinstall, program će se pojaviti u Synaptic Package Manager. Ako ste koristili sudo make install, vaš zahtjev će biti instaliran u / usr / local / bin i trebali biste biti u mogućnosti pokrenuti program od tamo bez problema.

 

 

Ako se to sve čini previše teško, ne uzrujavajtei se. Vi koristite Ubuntu, nakon svega, i tu su svi programi koje trebateveć  spakirani za vas. Ako ne postoji paket vani,  u roku od nekoliko mjeseci netko će ga pakirani za vas. Programi koje želite sastaviti su novi, a možda još nisu spremni za vaš desktop. Ako mislite da je ovaj postupak previše težak, zašto biste uopće željeli da to učinite. Samo čekajte nekoliko mjeseci za slijedeće stabilno izdanje.

 

Ali  može biti dobro iskustvo za vas.

Sretno!

 

Komentiraj