Ero sivun ”Kääntäminen” versioiden välillä

Siirry navigaatioon Siirry hakuun
134 merkkiä lisätty ,  9. toukokuuta 2010
numerot meni huonosti -> pallukat, tt:tä
(selvempi teksti kääntämiseen.)
(numerot meni huonosti -> pallukat, tt:tä)
Rivi 8: Rivi 8:
Ohjelmat kannattaa yleisesti ottaen asentaa jotenkin [[Ohjelmien asentaminen|muuten]] kuin muualta haettua koodia kääntämällä. Jos itse kääntäminen on välttämätöntä, käy se yleensä näin:
Ohjelmat kannattaa yleisesti ottaen asentaa jotenkin [[Ohjelmien asentaminen|muuten]] kuin muualta haettua koodia kääntämällä. Jos itse kääntäminen on välttämätöntä, käy se yleensä näin:


# Tarkista että ainakin [[gcc]] ja [[make]] ovat asennettuina.
* Tarkista että ainakin [[gcc]] ja [[make]] ovat asennettuina.
# Hanki jostakin ohjelman lähdekoodit, joko kopioi ohjelman lähdekoodipaketti ja pura se  
* Hanki jostakin ohjelman lähdekoodit, joko kopioi ohjelman lähdekoodipaketti ja pura se  


  [[tar]] xvzf hyvasofta.tar.[[gz]]  
  [[tar]] xvzf hyvasofta.tar.[[gz]]  
Rivi 17: Rivi 17:
tai käytä ohjelmistoprojektin [[versionhallintajärjestelmä]]ä.
tai käytä ohjelmistoprojektin [[versionhallintajärjestelmä]]ä.


# Siirry paketin hakemistoon.
* Siirry paketin hakemistoon.
  cd hyvasofta
  cd hyvasofta


# Hakemistossa on yleensä tekstitiedostoja, joiden nimet ovat README, INSTALL tai vastaavaa. Lue nämä ja varmista, että kääntäminen todella tapahtuu niin kuin seuraavassa kerrotaan.
* Hakemistossa on yleensä tekstitiedostoja, joiden nimet ovat <tt>README</tt>, <tt>INSTALL</tt> tai vastaavaa. Lue nämä ja varmista, että kääntäminen todella tapahtuu niin kuin seuraavassa kerrotaan.
# Aja [[autoconf|configure]]-[[Bash-skriptaus|skripti]] komennolla:
* Aja [[autoconf|<tt>configure</tt>]]-[[Bash-skriptaus|skripti]] komennolla:


  ./configure
  ./configure


Configure luo käännöksessä tarvittavan [[Makefile]]n. Jos configure-skriptiä ei ole, kokeile komentoja make config ja/tai make menuconfig. Jos mistään ei tapahdu mitään, katso olisiko hakemistossa install.sh-tyylistä skriptiä. Jos on, aja se komennolla:
Configure luo käännöksessä tarvittavan [[Makefile]]n. Jos <tt>configure</tt>-skriptiä ei ole, kokeile komentoja <tt>make config</tt> ja/tai <tt>make menuconfig</tt>. Jos mistään ei tapahdu mitään, katso olisiko hakemistossa <tt>install.sh</tt>-tyylistä skriptiä. Jos on, aja se komennolla:
./install.sh
./install.sh


Osassa ohjelmapaketteja saattaa myös olla Makefile valmiina, jolloin configurea ei ole, eikä sitä tarvitse ajaa.
Osassa ohjelmapaketteja saattaa myös olla Makefile valmiina, jolloin <tt>configure</tt>a ei ole, eikä sitä tarvitse ajaa.
# Jos configure-skripti ei mene kunnialla läpi, on syy usein puuttuvissa kehitys[[kirjasto]]issa eli headereissa (skripti mainitsee jonkin tietyn riippuvaisuuden puuttuvan). Nämä löytyvät paketinhallinnan kautta yleensä päätteellä ''-devel'' tai ''-dev'' (esimerkiksi ''[[gimp]]-devel'', pääte vaihtelee jakeluittain). Tilan säästämiseksi useimpien ohjelmien paketointien mukana ei toimiteta niiden kehityskirjastoja, vaan nämä on asennettava erillisestä paketista. Joskus ongelmana voi myös olla se, ettei configure löydä tarvittavaa riippuvaisuutta vaikka se ja sen kehityskirjastot olisi asennettu. Tällöin niiden sijainti on yleensä mahdollista määritellä erillisellä [[valitsin|valitsimella]]. Lisätietoja valitsimista saa komennolla:
* Jos <tt>configure</tt>-skripti ei mene kunnialla läpi, on syy usein puuttuvissa kehitys[[kirjasto]]issa eli headereissa (skripti mainitsee jonkin tietyn riippuvaisuuden puuttuvan). Nämä löytyvät paketinhallinnan kautta yleensä päätteellä ''-devel'' tai ''-dev'' (esimerkiksi ''[[gimp]]-devel'', pääte vaihtelee jakeluittain). Tilan säästämiseksi useimpien ohjelmien paketointien mukana ei toimiteta niiden kehityskirjastoja, vaan nämä on asennettava erillisestä paketista. Joskus ongelmana voi myös olla se, ettei <tt>configure</tt> löydä tarvittavaa riippuvaisuutta vaikka se ja sen kehityskirjastot olisi asennettu. Tällöin niiden sijainti on yleensä mahdollista määritellä erillisellä [[valitsin|valitsimella]]. Lisätietoja valitsimista saa komennolla:
  ./configure --help
  ./configure --help


Myös INSTALL- tai README-tiedostoissa on usein mainittu asiasta jotakin. [[Debian]]-pohjaisissa jakeluissa kehityskirjastot on yleensä helppo asentaa komennolla <tt>[[apt-get]] build-dep ohjelma</tt>.
Myös <tt>INSTALL</tt>- tai <tt>README</tt>-tiedostoissa on usein mainittu asiasta jotakin. [[Debian]]-pohjaisissa jakeluissa kehityskirjastot on yleensä helppo asentaa komennolla <tt>[[apt-get]] build-dep ohjelma</tt>.
# Käännä ohjelma komennolla:  
* Käännä ohjelma komennolla:  
  make
  make


Käännön aikana ruutuun tulostuu yleensä runsaasti tietoa käännön etenemisestä. Jos make-komento ei mene läpi, vaan pysähtyy ilmoittaen virheestä jollakin rivillä, on lähdekoodissa todennäköisesti vikaa. Yleensä kyse on lähdekoodin epäyhteensopivuudesta käytetyn kääntäjäversion kanssa. Virheilmoituksen perusteella saattaa olla mahdollista helpostikin korjata virhe. Muussa tapauksessa kannattaa lähettää palautetta ohjelman kehittäjälle.
Käännön aikana ruutuun tulostuu yleensä runsaasti tietoa käännön etenemisestä. Jos <tt>make</tt>-komento ei mene läpi, vaan pysähtyy ilmoittaen virheestä jollakin rivillä, on lähdekoodissa todennäköisesti vikaa. Yleensä kyse on lähdekoodin epäyhteensopivuudesta käytetyn kääntäjäversion kanssa. Virheilmoituksen perusteella saattaa olla mahdollista helpostikin korjata virhe. Muussa tapauksessa kannattaa lähettää palautetta ohjelman kehittäjälle.


# Siirry [[pääkäyttäjä]]ksi ja asenna ohjelma komennolla:
* Siirry [[pääkäyttäjä]]ksi ja asenna ohjelma komennolla:
  [[su]] make install
  [[su]] make install


Tämä kopioi käännetyt binäärit lopulliseen asennushakemistoonsa. Mikäli et halua asentaa ohjelmaa pääkäyttäjänä, voit antaa tunnuksellesi kirjoitusoikeudet asennushakemistoon asennuksen ajaksi. Voit toki käyttää ohjelmaa myös lähdekoodihakemistosta käsin tai määrittää sopivan asennuspolun omasta kotihakemistostasi. Tämä tapahtuu configuren valitsimella <tt>--prefix</tt>, esimerkiksi --prefix=/home/kayttaja/hyvasofta.
Tämä kopioi käännetyt binäärit lopulliseen asennushakemistoonsa. Mikäli et halua asentaa ohjelmaa pääkäyttäjänä, voit antaa tunnuksellesi kirjoitusoikeudet asennushakemistoon asennuksen ajaksi. Voit toki käyttää ohjelmaa myös lähdekoodihakemistosta käsin tai määrittää sopivan asennuspolun omasta kotihakemistostasi. Tämä tapahtuu <tt>configure</tt>n valitsimella <tt>--prefix</tt>, esimerkiksi <tt>--prefix=/home/kayttaja/hyvasofta</tt>.


Joskus Makefilessä on uninstall-toiminto, jolla ohjelma poisto onnistuu kätevästi komennolla:
Joskus Makefilessä on uninstall-toiminto, jolla ohjelma poisto onnistuu kätevästi komennolla:

Navigointivalikko