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

Siirry navigaatioon Siirry hakuun
Kehityskirjastojen asennus eri jakeluissa
 
(4 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 30: Rivi 30:
sudo make install
sudo make install


on: ''cmake .'', ''make'' (tai ''cmake --build .''), ''sudo make install''.
</syntaxhighlight>
</syntaxhighlight>


Rivi 58: Rivi 57:
Ohjelmat kannattaa yleisesti ottaen asentaa jotenkin 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 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:


# '''Valmistelut:''' Tarkista, että ainakin [[gcc]] ja [[make]] ovat asennettuina.
'''1. Valmistelut:''' Tarkista, että ainakin [[gcc]] ja [[make]] ovat asennettuina.
# '''Lähdekoodin haku ja purku:'''
 
'''2. Lähdekoodin haku ja purku:'''


  [[tar]] xvzf hyvasofta.tar.[[gz]]  
  [[tar]] xvzf hyvasofta.tar.[[gz]]  
Rivi 67: Rivi 67:
tai käytä ohjelmistoprojektin [[versionhallintajärjestelmä]]ä (esim. [[Git]]).
tai käytä ohjelmistoprojektin [[versionhallintajärjestelmä]]ä (esim. [[Git]]).


# '''Siirry hakemistoon komennolla:'''
'''3. Siirry hakemistoon komennolla:'''
  cd hyvasofta
  cd hyvasofta


Lue hakemistossa olevat ''README''- tai ''INSTALL''-tiedostot.
Lue hakemistossa olevat ''README''- tai ''INSTALL''-tiedostot.


# ''configure'' -tiedoston luonti (tarvittaessa): Mikäli configure-tiedostoa ei löydy, aja ''autoreconf''-[[Bash-skriptaus|skripti]] komennnolla:
'''4. configure -tiedoston luonti (tarvittaessa):''' Mikäli configure-tiedostoa ei löydy, aja ''autoreconf''-[[Bash-skriptaus|skripti]] komennnolla:


  autoreconf -i
  autoreconf -i
Rivi 78: Rivi 78:
autoreconf ajaa automaattisesti tarvittavat ohjelmat ja luo configure-skriptin.
autoreconf ajaa automaattisesti tarvittavat ohjelmat ja luo configure-skriptin.


# '''Konfigurointi:''' Aja ''configure''-[[Bash-skriptaus|skripti]] komennolla:
'''5. Konfigurointi:''' Aja ''configure''-[[Bash-skriptaus|skripti]] komennolla:


  ./configure
  ./configure
Rivi 88: Rivi 88:
  sudo apt-get build-dep ohjelma
  sudo apt-get build-dep ohjelma


# '''Kääntäminen:'''
{| class="wikitable"
|+ Kehityskirjastojen asennus eri jakeluissa
|-
! Jakeluperhe (Paketinhallinta) !! Yleinen pääte !! Esimerkki asennuskomento
|-
| Debian, Ubuntu, Mint (APT) || -dev || sudo apt install libssl-dev
|-
| Fedora, Red Hat, CentOS (RPM / DNF) || -devel || sudo dnf install openssl-devel
|-
| Arch, Manjaro (Pacman) || Ei yleistä päätettä, usein pelkkä paketin nimi || sudo pacman -S openssl
|-
| OpenSUSE (Zypper) || -devel || sudo zypper install openssl-devel
|}
 
 
'''6. Kääntäminen:'''
  make
  make


# '''Asennus:''' Siirry [[pääkäyttäjä]]ksi ja asenna ohjelma (katso kuitenkin kohta [[Kääntäminen#Kääntäminen ja paketinhallinta|Kääntäminen ja paketinhallinta]]):
'''7. Asennus:''' Siirry [[pääkäyttäjä]]ksi ja asenna ohjelma (katso kuitenkin kohta [[Kääntäminen#Kääntäminen ja paketinhallinta|Kääntäminen ja paketinhallinta]]):


  sudo make install
  sudo make install


# '''Siivoaminen ja poisto:''' Voit poistaa luodut binäärit ja Makefilen lähdekoodihakemistosta komennolla ''make clean''. Joskus Makefilessa on myös poistotoiminto ''make uninstall''.
'''8. Siivoaminen ja poisto:''' Voit poistaa luodut binäärit ja Makefilen lähdekoodihakemistosta komennolla ''make clean''. Joskus Makefilessa on myös poistotoiminto ''make uninstall''.
  make clean
  make clean


Rivi 104: Rivi 119:


Jos käännettävä ohjelmisto tarjoaa jotakin toiminnallisuutta, josta paketinhallinnan olisi hyvä olla tietoinen, voit luoda niin sanotun '''"dummy"'''-paketin. Dummy-paketti sisältää vain riippuvuudet ja muun metadatan. Debianissa tällaisen paketin tekoon on olemassa apupaketti ''equivs''.
Jos käännettävä ohjelmisto tarjoaa jotakin toiminnallisuutta, josta paketinhallinnan olisi hyvä olla tietoinen, voit luoda niin sanotun '''"dummy"'''-paketin. Dummy-paketti sisältää vain riippuvuudet ja muun metadatan. Debianissa tällaisen paketin tekoon on olemassa apupaketti ''equivs''.
== Kääntäminen ja paketinhallinta ==
Kenties paras vaihtoehto on tehdä käännetystä ohjelmasta oman jakelun mukainen paketti ja asentaa se paketinhallinnan kautta. Tällöin komentoa <tt>make install</tt> ei anneta, vaan tilalle tulee jakelun omat paketinluomis- ja asennuskomennot. Katso esimerkiksi [[CheckInstall]] sekä [[Deb-paketin tekeminen]].
Jos käännettävä ohjelmisto tarjoaa jotakin toiminnallisuutta, josta paketinhallinnan olisi hyvä olla tietoinen, tämän voi kertoa paketinhallinnalle, vaikka itse ohjelmasta ei tekisikään oikeata ohjelmapakettia. Tähän käyttöön sopii "dummy"-paketti, joka sisältää vain riippuvuudet ja muun metadatan. Debianissa tällaisen paketin tekoon on olemassa apupaketti ''equivs''.


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]