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

Linux.fista
Siirry navigaatioon Siirry hakuun
(mitä se itse asiassa on?)
p (wikilinkki)
Rivi 1: Rivi 1:
''Tämä artikkeli käsittelee ohjelmien kääntämistä lähdekoodista konekielelle. Ohjelmien suomentamisesta kerrotaan artikkelissa [[Lokalisointi]]''.
''Tämä artikkeli käsittelee ohjelmien kääntämistä lähdekoodista konekielelle. Ohjelmien suomentamisesta kerrotaan artikkelissa [[Lokalisointi]]''.


Kääntämisellä tarkoitetaan toimenpidettä, jossa ohjelman lähdekoodin perusteella luodaan konekielinen ohjelma, joka on tietokoneen ymmärtämässä muodossa. Konekielinen ohjelma toimii yleensä vain tietyn käyttöjärjestelmän ja prosessorityypin yhdistelmällä, kun taas samasta lähdekoodista voidaan yleensä kääntää versiot monille eri alustoille. Lisäksi lähdekoodia on mahdollista muokata, jos omaa kohtalaiset ohjelmointitaidot. Konekielisen ohjelman muokkaaminen taas ei ole käytännössä mahdollista.
Kääntämisellä tarkoitetaan toimenpidettä, jossa ohjelman [[lähdekoodi]]n perusteella luodaan konekielinen ohjelma, joka on tietokoneen ymmärtämässä muodossa. Konekielinen ohjelma toimii yleensä vain tietyn käyttöjärjestelmän ja prosessorityypin yhdistelmällä, kun taas samasta lähdekoodista voidaan yleensä kääntää versiot monille eri alustoille. Lisäksi lähdekoodia on mahdollista muokata, jos omaa kohtalaiset ohjelmointitaidot. Konekielisen ohjelman muokkaaminen taas ei ole käytännössä mahdollista.


Ohjelma kannattaa yleisesti ottaen asentaa jotenkin [[Ohjelmien asentaminen|muuten]]. Jos itse kääntäminen on välttämätöntä, se käy yleensä näin:
Ohjelmat kannattaa yleisesti ottaen asentaa jotenkin [[Ohjelmien asentaminen|muuten]]. Jos itse kääntäminen on välttämätöntä, se käy yleensä näin:


# Tarkista että ainakin [[gcc]] ja [[make]] ovat asennettuina.
# Tarkista että ainakin [[gcc]] ja [[make]] ovat asennettuina.

Versio 5. heinäkuuta 2007 kello 17.46

Tämä artikkeli käsittelee ohjelmien kääntämistä lähdekoodista konekielelle. Ohjelmien suomentamisesta kerrotaan artikkelissa Lokalisointi.

Kääntämisellä tarkoitetaan toimenpidettä, jossa ohjelman lähdekoodin perusteella luodaan konekielinen ohjelma, joka on tietokoneen ymmärtämässä muodossa. Konekielinen ohjelma toimii yleensä vain tietyn käyttöjärjestelmän ja prosessorityypin yhdistelmällä, kun taas samasta lähdekoodista voidaan yleensä kääntää versiot monille eri alustoille. Lisäksi lähdekoodia on mahdollista muokata, jos omaa kohtalaiset ohjelmointitaidot. Konekielisen ohjelman muokkaaminen taas ei ole käytännössä mahdollista.

Ohjelmat kannattaa yleisesti ottaen asentaa jotenkin muuten. Jos itse kääntäminen on välttämätöntä, se käy yleensä näin:

  1. Tarkista että ainakin gcc ja make ovat asennettuina.
  2. Kopio ohjelman lähdekoodipaketti ja pura se ( tar xvzf hyvasofta.tar.gz / tar xvjf hyvasofta.tar.bz2)
  3. Siirry paketin hakemistoon (cd hyvasofta)
  4. Hakemistossa on yleensä tekstitiedostoja, joiden nimet ovat README, INSTALL taikka jotain muuta vastaavaa. Lue nämä ja varmista, että kääntäminen todella tapahtuu niin kuin seuraavassa kerrotaan.
  5. Aja configure-skripti komennolla ./configure. 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 (./install.sh)
  6. Jos configure-skripti ei mene kunnialla läpi, syy on usein puuttuvissa kehityskirjastoissa. Asenna siis mainitut kirjastot.
  7. Käännä ohjelma komennolla make
  8. Siirry pääkäyttäjäksi komennolla su - ja asenna ohjelma komennolla make install (ks. CheckInstall)

Joskus configure-skriptissä tulee virheitä puuttuvien pakettien kanssa. Tällöin täytyy vain etsiä jostain tarvittava kirjasto ja asentaa se ensin. On myös mahdollista, että kirjasto itsessään on jo asennettuna, mutta sen header - tiedostoja ym. sisältävä kehityspaketti puuttuu. Esimerkiksi, mikäli configure jää kaipaamaan libaudiofile - pakettia ja se on asennettuna, saattaa kehityspaketti olla nimeltään (Debianin tapauksessa) libaudiofile-dev. Debianissa ohjelman kääntämiseen tarvittavat kirjastot on useimmiten helppo asentaa komentamalla:

apt-get build-dep ohjelma

On myös suositeltavaa käyttää configure:n kanssa parametriä --prefix=/opt/hyvasofta jolloin ohjelma asentuu annettuun polkuun (yleensä /opt-alkuinen) ja sieltä se on helppo tarvittaessa poistaa. CheckInstall toteuttaa saman toimenpiteen ja luo vielä pakettienhallintaan paketitkin.

Joskus Makefilessä on myös uninstall-toiminto, jolla ohjelma poisto onnistuu kätevästi komennolla make uninstall. Huomaa kuitenkin, että mikäli esimerkiksi poistat näin jonkin kirjaston, sitä käyttävät ohjelmat lakkaavat toimimasta.