Ubuntu/Kompilacja programów ze źródeł

Z Wikibooks, biblioteki wolnych podręczników.

Uwaga! Uwaga!
Poniższy tekst został zaktualizowany i oparty na wersji Ubuntu 8.04.1.1 LTS (Long Time Support - wersja o wsparciu długoterminowym do 3 lat).Wsparcie do kwietnia 2011. Aktualna wersja to Ubuntu 9.04

Poniżej mamy przykład typowej kompilacji programów ze źródeł. Przed kompilacją programu zapoznaj się z plikiem Read. w którym najczęściej jest opisany sposób kompilacji danego programu. A teraz do rzeczy;


Rozpakowujemy pakiet z kodami źródłowymi ( source, sourcecode ) ( zazwyczaj o formacie tar.gz, tar.bz lub tar.bz2 ). Dwukrotnie kliknij na pakiet i rozpakuj go w wybranym katalogu.Musimy zapamiętać gdzie rozpakowaliśmy program, w którym jest katalogu. Otwieramy terminal Aplikacje → Akcesoria → Terminal

W terminalu wpisujemy

sudo apt-get install build-essential 

jest kolekcją narzędzi ktorą potrzebujesz by skompilować i zbudować program.Zostaniesz poproszony o hasło, wpisując je nie zobaczysz wpisywanego tekstu, potem wciśnij Enter.

Aby nie zaśmiecać systemu instalujemy pakiet checkinstall. Tworzy on paczkę deb, pozwalając na sprawne usunięcie programu, jeżeli nie spełni on naszych wymagań. W tym celu w terminalu dalej wpisujemy

sudo apt-get install checkinstall 

Wchodzimy do katalogu, do którego rozpakowaliśmy kody źródłowe (program). Robimy to tak: W terminalu wpisujemy komendę ls (ls to litery Lucjan i Sylwia) która wyświetli nam nasze aktualne położenie (w jakim jesteśmy katalogu i do jakich katalogów możemy przejść) Załóżmy że rozpakowaliśmy program Frex do katalogu Dokumenty, wtedy do niego przechodzimy pisząc dalej w terminalu komendę

cd Dokumenty

Będąc już w katalogu Dokumenty wpisujemy znowu

ls 

które wyświetli do jakich katalogów możemy przejść np do katalogu Frex, wtedy dalej wpisujemy

 cd Frex 

będąc już w katalogu rozpakowanego programu.

Następnie w terminalu wpisujemy

./configure

Jeżeli ./configure nie znalazł błedu to przechodzimy dalej

Wpisujemy w terminalu:

make

Następuje kompilacja programu która trochę zajmie czasu.

Sprawdzamy kompilacje w terminalu wpisujemy

sudo checkinstall 

Następnie instalujemy program dalej w terminalu wpisując

sudo make install 

Po zakończeniu wyłączamy terminal.

Co jeśli ./configure znalazł błąd? Zazwyczaj nie może znaleźć jakiegoś pakietu, którego brakuje. Np nie znalazł pakietu hert i wyświetlił błąd configure: error: Could not find hert library

Wtedy w terminalu wpisujemy

 sudo apt-cache search hert

Jeżeli terminal znajdzie nam brakujący pakiet i że nazywa się on np hert-base wtedy go instalujemy.

Dalej w terminalu wpisujemy

 sudo apt-get install hert-base

Brakujący pakiet został zainstalowany, powtarzamy operacje instalacji od nowa.

[edytuj] Tworzenie pakietu .deb z pakietu źródłowego

  1. Instalujemy za pomocą Synaptic program checkinstall.
  2. Postępujemy tak jak przy normalnej kompilacji (zamiast ./configure && make && sudo make install wpisujemy ./configure && make && sudo checkinstall). Podczas kompilacji będziemy musieli odpowiadać na pytania dotyczące tworzonego pakietu.
  3. Po poprawnym stworzeniu pakietu możemu go zainstalować programem dpkg wpisując sudo dpkg -i nazwa_pakietu.deb