Kompilacja pakietu ze źródeł
Ostatnia aktualizacja: 18 maja 2022, 19:30
W obecnych czasach większość pakietów dla dystrybucji Linuksa jest dostępna w postaci gotowych paczek binarnych skompilowanych przez developerów systemu i gotowych do instalacji. Jest to duże ułatwienie i oszczędność czasu, szczególnie gdy wiąże się to z instalacją wielu dodatkowych, wymaganych zależności.
Niemniej jednak taka instalacja sprowadza się do wydania prostej komendy a menadżer pakietów (jeśli Twój system go posiada) wykona całą pracę za Ciebie.
Tak się dzieje do czasu, gdy potrzebne pakiety zainstalujesz z repozytoriów lub znajdziesz w sieci gotową paczkę instalacyjną.
Wtedy jedynym wyjściem jest instalacja pakietu ze źródeł, co może czasami być problemem, szczególnie dla początkujących użytkowinków Linuksa.
Ten rozdział powinien Tobie pomóc w skompilowaniu, zainstalowaniu oraz zbudowaniu pakietu binarnego wykorzystując do tego pakiet źródłowy.
Kompilacja pakietu ze źródeł za pomocą „make”
Pierwszy sposób kompilacji wykonam z pomocą programu make.
1. Pobierz i rozpakuj paczki ze źródłami pakietu.
2. Wejdź do rozpakowanego, nowoutworzonego katalogu, otwórz plik tekstowy „Readme” za pomocą dowolnego edytora tekstu i przeczytaj jakie zależności należy zainstalować przed wykonaniem kompilacji pakietu.
3. Zainstaluj zależności (jednym z podstawowych jest kompilator GCC oraz build-essential) za pomocą menadżera pakietów dla Twojej dystrybucji.
4. Następnie otwórz konsolę tekstową i wejdź do rozpakowanego folderu ze źródłami pakietu poleceniem :
cd /ścieżka/do-folderu/źródłowego
5. Teraz wykonaj konfigurację w celu sprawdzenia czy wszystkie zależności do zbudowania pakietu zostały spełnione wydając polecenie (jako zwykły użytkownik) :
./configure
6. W tym przypadku użyłem programu Catfish, dla którego wszystkie zależności zostały spełnione. Jeśli konfiguracja zakończy się błędem spowodowanym brakiem jakiegoś pakietu to zainstaluj go i ponów konfigurację.
7. Dodatkowo konfiguracja zwróciła informacje o przewidzianej lokalizacji dla instalacji pakietu, tutaj (Installation prefix is) :
/usr/local
8. Jeśli chcesz aby pakiet został zainstalowany w innym miejscu to dodaj opcję do konfiguracji :
./configure --prefix=/usr/lib
gdzie zamiast „/usr/lib” wpisz swoją lokalizację.
9. Teraz wykonaj kompilację pakietu poleceniem :
make
10. A następnie zainstaluj pakiet poleceniem (lub zbuduj paczkę instalacyjną) :
su (lub sudo) make install
11. Program został zainstalowany, możesz uruchomić go w konsoli (jako zwykły użytkownik) lub wybierając program z menu.
12. Aby odinstalować pakiet wydaj polecenie z katalogu ze źródłami :
make uninstall
13. Jeśli otrzymasz informację o braku pliku „configure” to możesz to naprawić wydając polecenie :
./autogen
Kompilacja pakietu ze źródeł za pomocą „cmake”
Możesz również skompilować pakiet źródłowy przy pomocy cmake na dwa sposoby – w konsoli tekstowej lub używając graficznego interfejsu.
1. Pobierz i rozpakuj paczki ze źródłami pakietu.
2. Zainstaluj zależności (sprawdź na stronie producenta programu) za pomocą menadżera pakietów dla Twojej dystrybucji.
3. Następnie otwórz konsolę tekstową i wejdź do rozpakowanego folderu ze źródłami pakietu poleceniem :
cd /ścieżka/do-folderu/źródłowego
4. W zależności od programu (sprawdź opis instalacji na stronie producenta) przejdź do wymaganego podfolderu („bin”, „build” lub inny) i przeprowadź konfigurację :
cmake ..
lub
cmake ../
5. Teraz możesz zbudować program używając polecenia :
make
6. A następnie zainstaluj go poleceniem (lub zbuduj paczkę instalacyjną) :
su (lub sudo) make install
7. Możesz również przeprowadzić kompilację pakietu za pomocą graficznej nakładki na program cmake – „cmake-qt-gui”.
8. Podaj ścieżkę do źródeł pakietu w opcji „Source code” oraz ścieżkę do folderu dla instalacji programu „To build binaries” i kliknij „Configure”. Nie zapomnij o wcześniejszej instalacji zależności.
Usunięcie pakietu
Aby usunąć pakiet zainstalowany ze źródeł wejdź do folderu ze źródłami programu (w którym przeprowadzałeś/aś kompilację) i wydaj polecenia, jako administrator :
make uninstall
@Ratus, 100% racji. Autor tego „przewodnika dla początkujących” najwyraźniej sam nie ma żadnego (istotnego) doświadczenia w budowaniu programów ze źródeł. Zresztą artykuł powstał pewnie na zasadzie: kazano napisać – redaktor napisał, a poziom merytoryczny, czy też użyteczność dla kogokolwiek – nieistotne. Sam wielokrotnie kompilowałem programy ze źródeł, w praktyce KAŻDY wymagał instalacji (lub kompilacji) dodatkowych zależności, co nigdy nie odbywa się „bezboleśnie”, a czasem nawet było niemożliwe (dla mnie).
A ja bardzo dziękuję za ten artykuł, jest to usystematyzowana wiedza podana w przystępnej formie. Dzięki temu może na przyszłość nie będę czuła lęku, kiedy usłyszę „kompilacj ze źródeł”
Dla kogo jest ten artykuł? Jesli ktoś jest na tyle zaawansowany, że potrafi sprawdzić, znaleźć i zainstalować zależności dla programu w formie źródłowej, to z pewnością jest mu znana sekwencja: ./configure && make && make install …
Dalej, głównym „zatrzymaniem” jest proces ./configure, przez autora załatwiony dwoma słowami. To tutaj wychodzi najwięcej błędów, które trzeba rozumieć i jakoś naprawić. Jeśli „configure” się uda, to „make” z reguły idzie bezbłędnie, a jeśli nie, to i tak nic nie poradzimy, bo to oznacza (najczęściej) źle zbudowany pakiet źródłowy.
Tak więc, nie demonizując procesu instalacji ze źródeł, nie można wciskać kitu „początkującym”, że to tak ot, z pod palca, komenda „make” i już….
O ile wiem to samo „make” nie musi być wykonywane z prawami roota. Jedynie „make install” tak.
Ot taki szczególik ;P Ale ogólnie wpis fajny – bardzo przyda się panikarzom którzy twierdza ze to coś mega trudnego 😛
Masz rację, już poprawiłem.
Dzięki