Ubuntu Sverige

Ovrigt/Kompilera kallkod

Ubuntu Sverige

Hoppa till: navigering, sök

[redigera] Kompilera källkod

Att kompilera är att översätta kod skriven av och för människor till det språk som datorer förstår - ettor och nollor.

När ett projekt utvecklas under GPL-licensen innebär det att källkoden alltid måste vara tillgänglig. Användare får ladda hem källkoden och är fria att förändra och förbättra. Distributioner som Ubuntu har paketerat många olika program så du behöver ofta inte själv hämta hem källkoden. Men i vissa fall kan det vara nödvändigt.

  1. Programet du söker finns inte paketerat för din distribution
  2. Du vill ha en senare version än den som är tillgänglig på distributionens servrar.
  3. Du vill hjälpa till att utveckla

Kompilatorn som de flesta utvecklare för Linux använder heter GCC (GNU Compiler Collection). Alltså en kompilator licensierad under GPL. GCC finns inte med som standard i en installation av Ubuntu utan måste hämtas hem från Ubuntus servrar.

sudo apt-get install build-essential

En kompilering sker nästan alltid i följande tre steg. Innan du börjar är det starkt rekommenderat att läsa filerna README och INSTALL, dessa är utvecklarnas instruktioner hur koden bäst kompileras. Filerna finns i samma mapp som källkoden.

Det kan vara bra om du vet hur man navigerar runt i terminalen

Packa upp mappen du hämtat hem.

tar -xf <fil.tar.gz> 

eller

tar -xf <fil.tar.bz2>

Se till att vara inuti den mapp som just packats upp. Det första steget är sedan:

./configure

Då körs ett skript som kollar att alla behov programkoden har är uppfyllda. Till exempel kräver kanske koden att du har "libX" eller "libY" installerade. Eftersom programmet "lånat" kod från "libX" måste detta vara närvarande för att programmet ska kunna byggas. ./configure scriptet låter dig också modifiera det program du ska bygga genom s.k. flaggor. För att se alla konfigurationsmöjligheter som finns skriv:

./configure --help

Parametrar skickas till ./configure scriptet så här:

./configure --enable-debug

oftast behövs dock inga extra flaggor.

Nästa steg är byggandet av programmet. Alla behov är uppfyllda och alla instruktioner för hur programmet ska byggas har sparats. Först nu kan programkoden kompileras. Detta sker med hjälp av kommandot

make

make bygger en "binär fil" en fil som datorer kan läsa. Skärmen kommer nu kanske se lite lustig ut men det ska den göra. När make är färdig och du inte har fått några fel, är det dags för det sista steget. För att förhindra att skadlig kod kommer in i systemet är det bara användare med root-privilegier som kan utföra detta. Använd därför sudo.

sudo make install

Då placeras det byggda programmet "i systemet" det är först nu programmet kan användas.

Dessa tre instruktioner är samma för alla Linux-distributioner, men på Ubuntu/Debian finns ytterligare ett alternativ. Att bara installera programkod på tidigare nämnt sätt skapar lätt oreda och problem vid avinstallation. Därför finns programmet checkinstall

sudo apt-get install checkinstall

Istället för "make install" används nu checkinstall

./configure
make
sudo checkinstall

Checkinstall skapar en binärfil men paketerad som en .deb, programmet installeras sedan på systemet. Fördelen är att programmet enkelt går att avinstallera med Ubuntus pakethanterare.

Den här artikeln är hämtad från http://ubuntu-se.org/wiki/Ovrigt/Kompilera_kallkod
Personliga verktyg