Ovrigt/Kompilera kallkod
Ubuntu Sverige
[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.
- Programet du söker finns inte paketerat för din distribution
- Du vill ha en senare version än den som är tillgänglig på distributionens servrar.
- 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.


