Nukreipta iš puslapio „Programų_kompiliavimas

Išvalyti žinutę

Programų kompiliavimas

Pačiam susikompiliuoti programas iš išeities tekstų yra universalus būdas jas įdiegti į bet kurią sistemą. Taip pat, taip gaunamas originalus, nemodifikuotas kodas. Kaip pavyzdį imsiu populiarųjį wine, kurį naudinga susikompiliuoti vien dėl to, kad jis sparčiau veiktų (susikompiliuotos programos sparčiau veikia). Tai atlikti būtų naudinga turėti darbo terminale pagrindus Darbas tekstiniame terminale.

Išeities tekstų paruošimas

Pirmiausia išeities tekstus reikėtų parsisiųsti (rašymo metu 0.9.55 buvo naujausia versija):

wget -c http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.55.tar.bz2

Vėliau juos iškleisti (plačiau apie archyvų išskleidimą Archyvavimas linux sistemoje):

tar -xjf wine-0.9.55.tar.bz2

Pasiruošimas

Norint kompiliuoti programas pirmiausiai reikės kompiliatoriaus. Linux paprastai naudojamas yra GCC. Reikės ir kitų įrankių, tokių kaip make ir panašiai. Kad sukompiliuotumėte programą, jai taip pat reikės ir bibliotekų, kurias ji naudoja, aprašų bylų (angl. header files). Tuos įrankius ir bibliotekas, kurias ji naudoja kompilavimo metu, galima rasti pagrindiniame išeities tekstų kataloge, README arba INSTALL faile (norėdami, jį pažiūrėti, galite naudotis less komanda: less INSTALL). Šiuos failus reikėtų visada perskaityti prieš kompiliuojant programas. Jei naudojate (K)Ubuntu ar Debian tai galite naudotis tokia komanda, kad gautumėte pagrindinius kompiliavimo įrankius:

sudo apt-get install build-essential

Bibliotekų aprašų failus galite rasti tuose paketuose, ties kurių pavadinimo pabaiga yra -dev priesaga. Naudojantis tokia sistema kaip Gentoo, bibliotekų aprašų bylų nereikės siųstis, kaip ir daugelio kompiliavimo įrankių - jie jau yra sistemoje, jei tik yra atitinkamas paketas.

Kompiliavimas

Pagrindiniame išeities tekstų kataloge reikėtų paleisti configure programėlę su --help argumentu, kad sužinotume kokias nuostatas palaiko mūsų programa:

./configure --help

Kartais tokios programėlės (configure) gali nebūti, tad jį galima pabandyti susigeneruoti su autoconf komanda (tai turėtų būti paminėta README ir INSTALL failuose):

autoconf

Paprastai reikia tik vieno parametro - --prefix - jis nusako kur bus įdiegta programa. Jo reikšmė įprastomis aplinkybėmis turėtų būti /usr (--prefix=/usr). Paskaičius apie palaikomus nustatymus galima paleisti configure programėlę (nuo parametrų, kuriuos pasirinksite, dažnai priklauso ir reikiamų bibliotekų aprašai):

./configure --prefix=/usr --disable-win16 --without-esd --with-x --without-ldap

Jei viskas pavyko gerai, tai turėtume gauti "configure: Finished." pranešimą. Jei gaunama klaidos pranešimas, kad nerastas vienoks ar kitoks įrankis ar biblioteka, jį reikėtų parsisiųsti ir įsidiegti, o tada vėl bandyti leisti configure. Jei problemų nėra, tai galima pradėti patį kompiliavimo procesą su make komanda. Kadangi paskaičius wine README failą rašoma, kad pirmiau reikia paleisti make depend komandą, tai taip ir darome. Paprastai užtenka tik make komandos:

make depend && make

(&& reiškia, kad jeigu buvo sėkmingai įvykdyta make depend komanda po jos bus vykdoma make)

Įdiegimas

Sukompiliuotą programą įdiegiame komanda:

sudo make install

sudo naudojame, kad įdiegtume programą į /usr katalogą, reikia root teisių. Taip pat wine galima įdiegti kitoje vietoje (redaguojant configure prefix parametrą), bet tokiu atveju wine nebus pasiekamas pagal numatytasias PATH nuostatas. Jeigu jūsų sistemoje nėra sudo palaikymo, galite naudoti su:

su
make install

Pabaiga

Štai ir įdiegėme wine programą į savo kompiuterį. Šią instrukciją galima panaudoti diegiant bet kurią programą iš išeities tekstų. Dabar įdiegtą programą galima pasileisti tiesiog pasinaudojus komanda programos_pavadinimas (mūsų atveju tiesiog wine).

Visas programų kompiliavimas gali būti tiesiog aprašytas šiomis trimis komandomis:

./configure --prefix=/usr
make
sudo make install

Arba dar trumpiau (tik tam reikės root vartotojo teisių):

./configure --prefix=/usr && make && make install

Intelektualesnis būdas

Šis būdas tinka Debian, RedHat, ir Slackware pagrindu sukurtoms OS. Viskas būtų daroma kaip ir prieš tai rašyta, išskyrus du aspektus. T.y. Įdiegiame pora papildomų programų (Debian pagrįstose sistemose):

sudo apt-get install build-essential fakeroot checkinstall

o vietojei

sudo make install

rašome

sudo fakeroot checkinstall

Po to atsakome į kelis paprastus klausimus. Dažniausiai užtenka tiesiog kelis kartus paspausti "Enter". Ir viskas - jūs turite deb, rpm arba slackware paketą, kurį "checkinstall" jau ir sudiegė.

Panašūs puslapiai

  1. LinuxĮžanga
  2. Programų_kompiliavimas
  3. Straipsniai
  4. Straipsniai/ProgramųKompiliavimas