Lähdekoodista...

Apt-getillä voi asentaa myös ohjelmien lähdekoodit, mutta miten tuosta lähdekoodista käännetään ohjelma oikeaoptisesti? Eli tarkoitan nyt näitä ubuntun omia lähdekoodipaketteja, enkä kolmannen osapuolen *.tar lähdekooditiedostoja jotka haetaan selaimella.
5339
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

komentokehoitteessa siihen hakemistoon mihin sorsat on purettu. Katso löytyykö hakemistosta "configure" niminen tiedosto. Jos löytyy, niin kirjoita ./configure ja odota kunnes ohjelman suoritus loppuu. Jos ei tule virheitä tai ./configurea ei löydy , niin kirjoita make. Jos ei tullut virheitä kirjoita make install. Siinä se Tuo oli sitten pikaohje. Yleensä README tai INSTALL antaa kunnon ohjeet.

Äänestä

Saitkin jo ohjetta mutta totuus on se, että kääntäminen riippuu siitä miten ohjelma toteutettu. Siihen ei ole yhtä tapaa vaan riipuu täysin työkaluista joilla ohjelmisto on tehty. Tästä syystä kääntämistä varten olisi hyvä tietää perusteita ohjelmoinnista, että osaa tarvittessa lukea oikeat ohjeet että saa ohjelman käännettyä.

On myös mahdollista, että kääntäminen ei onnistu aina ja että tarvitsee tehdä muutoksia lähdekoodiin. Enpä oikein suosittele lähdekoodeista kääntämistä ilman pätevää syytä.

Äänestä

Kääntämiseen tarvitaan erilaisia käännöstyökaluja. Peruspaketti on build-essential: http://packages.ubuntu.com/intrepid/build-essential
mutta mahdollisesti muitakin kehityspaketteja (dev/devel) tai jopa kernelin lähdekoodi tai -headerit.
www.linux.fi -sivuilla on hyvät ohjeet:
http://linux.fi/wiki/Kääntäminen
Erityisen käteväksi olen todennut ko. tekstissä mainitun checkinstall -ohjelman.

Äänestä

Haluat siis ilmeisesti kääntää Debian-paketin uudelleen lähdekoodeista ja tehdä siitä käännetystä ohjelmasta taas asennettavan Debian-paketin? Syitä tohon voi olla esim: muutoksen tekeminen paketin sisältämään ohjelmaan, ohjelman backporttaaminen jakeluversiolta toiselle jne.

Jos haluat tehdä jotain tiollaista, niin sillon yksikään noista aikasemmista saamistasi ohjeista ei ollut oikeaoppinen ohje siihen tarkotukseen.

Tässä ohje miten homma menee:

1) Paketin lähdekoodin voi hakea näin:
$ apt-get source

2) Kääntämistä varten sun pitää asentaa ne kehityspaketit, joista paketti riippuu:

Debianissa:
# apt-get build-dep
Ubuntussa:
$ sudo apt-get build-dep

3) Sitten paketin voi kääntää näin:

Siirry siihen hakemistoon, joka syntyi kovalevylle kun hait lähdekoodit. Aja sitten tämä komento:

$ dpkg-buildpackage -rfakeroot -uc -b

Komennon tuloksena ojelma käännetään lähdekoodeista ja sulle luodaan asennusvalmiit paketit.

Jos englanninkieli ei ole ongelma, niin kannattaa lukea tämä noin yleisesti:
http://www.debian.org/doc/manuals/apt-howto/

Äänestä
  • Hienoa, että joku tietää ja osaa. Näin asian opettelijana pari vinkkiä lisää.

    dpkg-dev ja fakeroot paketit on pitää asentaa ennen paketin rakentamista, jotta apuohjelmat ovat käytettävissä. debian/changelog tiedostoon olisi hyvä tehdä alkuun uusi merkintä ja siinä versioida paketti järkevästi, niin oma paketti sujahtaa hyvin aptin hallintaan.

    Äänestä

Kommentoi aloitusta


miten miten kirjoitti:

Apt-getillä voi asentaa myös ohjelmien lähdekoodit, mutta miten tuosta lähdekoodista käännetään ohjelma oikeaoptisesti? Eli tarkoitan nyt näitä ubuntun omia lähdekoodipaketteja, enkä kolmannen osapuolen *.tar lähdekooditiedostoja jotka haetaan selaimella.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu