XtremeOS to system, który stara się sprostać oczekiwaniom początkujących użytkowników. Jednak przychodzi taki moment, kiedy użytkownik pragnie poznać system trochę głębiej. Najczęściej takie poznawanie zaczyna się od próby kompilacji jakiegoś programu ze źródeł. Domyślnie w systemach z rodziny Linux, programy rozpowszechniane są w postaci gotowych pakietów (są oczywiście wyjątki, np. gentoo) rpm czy deb. Taki pakiet wystarczy zainstalować przez menadżer pakietów. Istnieje jednak możliwość ręcznego skompilowania programu. W tym poradniku postaram się krok po kroku wyjaśnić w jaki sposób tą procedurę przeprowadzić.
Pierwszym korkiem jest odnalezienie paczki ze źródłami na stronie programu. W poniższym przykładzie przeprowadzimy kompilację programu wine.

Pobieranie źródeł programu w oknie konsoli
Po odszukaniu źródeł programu wystarczy je pobrać, w tym celu w oknie konsoli wykonujemy polecenie (wpisujemy i potwierdzamy klawiszem enter):
wget link_do_paczki_tar
jako jego parametr podajmy link do pliku tar. Po pobraniu pliku możemy przystąpić do rozpakowania źródeł. W konsoli wykonujemy polecenie:
tar -xjf nazwa_pliku_do_rozpakowania.

Rozpakowywanie pliku ze źródłami programu
Po rozpakowaniu pliku przechodzimy do katalogu ze źródłami, pomoże na w tym wykonanie polecenia:
cd nazwa_katalogu

Kolejny krok na drodze kompilacji programu
Teraz rozpocznie się właściwy proces kompilacji. Pierwszym krokiem w tym procesie jest przygotowanie źródeł programu i sprawdzenie czy w systemie są zainstalowane wszystkie wymagane do kompilacji programu narzędzia i biblioteki. W tym celu wykonujemy polecenie:
./configure

Przygotowanie źródeł programu do kompilacji
Polecenie to wywoła skrypt configure , w czasie sprawdzania systemu może on wyświetlić informację o braku jakiegoś narzędzia lub biblioteki. Poniższy zrzut prezentuje taką sytuację.

Komunikat błędu skryptu configure na temat braku kompilatora gcc
W tym wypadku należy doinstalować pakiet gcc:
urpmi gcc make
Przy okazji instalujemy pakiet make, który przyda się na kolejnym etapie. Po zainstalowaniu wspomnianych pakietów ponownie wykonujemy polecenie:
./configure

Kolejny komunikat o brakującym pakiecie
Tym razem w systemie brakuje pakietu flex, instalujemy go poleceniem:
urpmi flex
Większą trudność może sprawić brak bibliotek deweloperskich.

Brakująca biblioteka podsystemu xorg
W tym wypadku wymagana biblioteka znajduje się w pakiecie libx11-devel , wystarczy wykonać polecenie:
urpmi libx11-devel
,aby zainstalować wymagane pliki.

Komunikat o braku biblioteki FreeType
Jak w takim razie wyszukać w jakim pakiecie znajduje się dana biblioteka. Najszybciej mozna to zrobić wyszukując nazwę biblioteki w zainstalowanych pakietach. W tym przykładzie będzie to bibliotek freetype. W tym celu wykonujemy polecenie:
rpm -qa|grep freeetype

Instalacja biblioteki fdeweloperskiej freetype
Wyświetli ono listę pakietów. Najważniejszy jest pakiet libreetype6 , teraz wiemy, że należy zainstalować pakiet libfreetype6-devel .
Po kolejny uruchomieniu polecenie
./configure
źródła powinny byc gotowe do kompilacji.

Źródła programu gotowe do kompilacji
Pozostaje nam teraz wykonać polecenie
make
, które skompiluje źródła.

Prawidłowo zakónczona kompilacja
Po zakończeniu kompilacji (informuje nas o tym linijka make[1]), w tym wypadku ważna jest liczba. Numer inny niż jeden świadczy o błędzie kompilacji, wyświetlany jest też wtedy stosowny komunikat o przyczynie problemu.
W tym momencie pozostaje nam tylko wykonać polecenie
make install
,aby zainstalować program.
Warto też napisać, że program zainstalowany ze źródeł można usunąć, trzeba jednak dysponować katalogiem, w którym zostały one skonfigurowane i skompilowane. W tym celu w katalogu ze źródłami wykonujemy polecenie:
make uninstall
Jeżeli ich brakuje, można je pobrać ponownie i przeprowadzić proces konfiguracji i kompilacji jeszcze raz. Proces konfiguracji (skrypt configure) musi zostać w takim wypadku wywołany z takimi samymi parametrami jak za pierwszym razem, inaczej mogą się pojawić problemy podczas usuwania programu. Może się też okazać, że dane źródła nie wspierają parametru uninstall, wtedy pozostaje ręczne usuwanie plików.