Instalacja programu ze źródeł: Różnice pomiędzy wersjami

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania
m (Instalacjia)
m (Kolejne poprawki błędów ortograficznych)
 
(Nie pokazano 15 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
{{Box/Tools|W budowie| Proszę przejrzeć czy to jest poprawnie w ogóle i dodać co wypada,
+
{{Box|Tools|W budowie|Proszę przejrzeć czy to jest poprawnie w ogóle i dodać co wypada,
 
* cmake to tak? bo nigdy nie robiłem ;P
 
* cmake to tak? bo nigdy nie robiłem ;P
* opis checkinstall}}{{Box/Warn|Sprawdź najpierw!|artykuł [[Zarządzanie pakietami]] i jeśli to możliwe stosuj paczki rpm/src.rpm. Dopiero w ostateczności kompiluj paczki ze źródeł}}{{Note|
+
* opis checkinstall}}{{Box|Warn|Sprawdź najpierw!|artykuł [[Zarządzanie pakietami]] i jeśli to możliwe stosuj paczki rpm/src.rpm. Dopiero w ostateczności kompiluj paczki ze źródeł}}{{spis}}
__TOC__
+
}}
+
 
== Instalacja programu ze źródeł ==
 
== Instalacja programu ze źródeł ==
Rozpakowuj archiwum i przejdź do folderu ze źródłami. Standardowo sposób kompilacji i wymagane programy powinien znajdować się w pliku INSTALL programu (ostatecznie na stronie programu).
+
Rozpakuj archiwum i przejdź do folderu ze źródłami. Standardowo sposób kompilacji i wymagane programy powinien znajdować się w pliku INSTALL programu (ostatecznie na stronie programu).
  
 
====Narzędzia====
 
====Narzędzia====
Linia 16: Linia 14:
 
Parametry ustawiane są zazwyczaj przez <tt>configure</tt>, ale coraz więcej projektów zaczyna korzystać z <tt>cmake</tt> zamiast z <tt>autotools</tt>. Wykonaj:
 
Parametry ustawiane są zazwyczaj przez <tt>configure</tt>, ale coraz więcej projektów zaczyna korzystać z <tt>cmake</tt> zamiast z <tt>autotools</tt>. Wykonaj:
  
{{Notes| Gdzieś to trzeba wcisnąć: ''Odpowiednie wartości uzyskamy wpisyjąc rpm --showrc i 'grepować' otrzymany wynik, bo zbędnych informacji jest sporo.''}}
+
{{Notes| Gdzieś to trzeba wcisnąć: ''Odpowiednie wartości uzyskamy wpisując rpm --showrc i 'grepować' otrzymany wynik, bo zbędnych informacji jest sporo.''}}
  
 
* jeśli program korzysta z <tt>configure</tt>
 
* jeśli program korzysta z <tt>configure</tt>
Linia 31: Linia 29:
 
Jeśli chcemy też podrasować kompilowaną aplikację, trzeba odpowiednio ustawić zmienne CFLAGS, CXXFLAGS i LDFLAGS.}}
 
Jeśli chcemy też podrasować kompilowaną aplikację, trzeba odpowiednio ustawić zmienne CFLAGS, CXXFLAGS i LDFLAGS.}}
 
  cmake .
 
  cmake .
 +
Prefix wskazujący na miejsce instalacji ustawimy stosując opcję:
 +
<pre>cmake . -DCMAKE_INSTALL_PREFIX=/usr/local</pre>
 +
W przypadku programów napisanych dla środowiska KDE4, takich jak np. amarok często wymaga się aby prefix ustawiony był jako:
 +
<pre>cmake . -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`</pre>
 +
Informacje diagnostyczne można wyłączyć stosując opcję:
 +
<pre>cmake . -DCMAKE_BUILD_TYPE=Release</pre>
 +
Jeśli zachodzi potrzeba włączenia/wyłączenie określonej funkcjonalności kompilowanego programu należy zastosować opcję
 +
<pre>cmake . -D<zmienna>:<typ>=<wartość> np:
 +
cmake . -DWITH_FFMPEG:BOOL=NO
 +
cmake . -DWITH_FFMPEG:BOOL=YES</pre>
 +
Można również skorzystać z graficznego interfejsu cmake:
 +
<pre>[root@ X~]#yum install cmake-gui</pre>
 +
W tym przypadku w programie ''cmake-gui'' należy wskazać rozpakowane źródła programu oraz katalog w którym będzie on kompilowany (jeśli nie tworzymy katalogu ''build'' obie ścieżki są takie same). Można teraz skonfigurować program według własnych potrzeb.
  
 
====Kompilacja====
 
====Kompilacja====
Linia 39: Linia 50:
 
jeśli nie ma krytycznych błędów to jest ok.
 
jeśli nie ma krytycznych błędów to jest ok.
  
====Instalacjia====
+
====Instalacja====
 
Jeśli w <tt>./configure</tt> ustawiłeś inny katalog niż domowy, to musisz się teraz zalogować na [[Konto root]]. Pozostaje wykonać
 
Jeśli w <tt>./configure</tt> ustawiłeś inny katalog niż domowy, to musisz się teraz zalogować na [[Konto root]]. Pozostaje wykonać
 
  make install   
 
  make install   
i zakończyć lekturę, albo możesz stworzyć '''paczkę rpm''' przy pomocy polecenia
+
i zakończyć lekturę, albo możesz się powstrzymać i zamiast tego stworzyć '''paczkę rpm''' przy pomocy polecenia
 
  checkinstall
 
  checkinstall
'''[http://www.google.pl/search?hl=pl&client=firefox-a&rls=org.mozilla%3Apl-PL%3Aofficial&q=howto+checkinstall&btnG=Szukaj&lr= checkinstall]''' nie jest idealny, ale do domowego zastosowania powinien na początek wystarczyć. Jeśli Cię to nie satysfakcjonuje możesz [[Zarządzanie pakietami|stworzyć paczkę samodzielnie]]. Mając paczkę rpm łatwiej Ci będzie [[Zarządzanie pakietami|zarządzać oprogramowaniem]] w systemie.  
+
'''[http://www.google.pl/search?hl=pl&client=firefox-a&rls=org.mozilla%3Apl-PL%3Aofficial&q=howto+checkinstall&btnG=Szukaj&lr= checkinstall]''' nie jest idealny, ale do domowego zastosowania powinien na początek wystarczyć. Jeśli Cię to nie satysfakcjonuje możesz [[srpm|stworzyć paczkę samodzielnie]]. Mając paczkę rpm łatwiej Ci będzie [[Zarządzanie pakietami|zarządzać oprogramowaniem]] w systemie.  
  
{{Box/Tip|"Święta Trójca"|na własna rękę to najprościej będzie<br>
+
{{Box|Tip|"Święta Trójca"|na własna rękę to najprościej będzie wykonać jako root<br><br>
./configure && make && make install
+
<pre>./configure && make && make install</pre>
 
albo:
 
albo:
cmake . && make && make install
+
<pre>cmake . && make && make install</pre>}}
}}
+
  
 
==Jak usunąć własne paczki z systemu==
 
==Jak usunąć własne paczki z systemu==
To zależy od źródeł. Niektóre (te lepiej przygotowane) maję opcję  
+
To zależy od źródeł. Niektóre (te lepiej przygotowane) mają opcję  
 
  make uninstall
 
  make uninstall
 
lub mają '''skrypt uninstall'''. Należy tylko pamiętać, że coś takiego może nam spowodować zaburzenia w pracy innych programów. Nie ma tu kontroli zależności jak w rpm. Jeżeli instalujemy program z podaniem innych ścieżek niż domyślne to odinstalowywanie nie zawsze się powiedzie. Poza tym zawsze pozostaje analiza ''make install'', tam widać co jest wrzucane, więc wiadomo co wyrzucić.
 
lub mają '''skrypt uninstall'''. Należy tylko pamiętać, że coś takiego może nam spowodować zaburzenia w pracy innych programów. Nie ma tu kontroli zależności jak w rpm. Jeżeli instalujemy program z podaniem innych ścieżek niż domyślne to odinstalowywanie nie zawsze się powiedzie. Poza tym zawsze pozostaje analiza ''make install'', tam widać co jest wrzucane, więc wiadomo co wyrzucić.
Linia 60: Linia 70:
 
* wątek na forum [http://forum.fedora.pl/index.php?showtopic=19953 jak zainstalować]
 
* wątek na forum [http://forum.fedora.pl/index.php?showtopic=19953 jak zainstalować]
 
* wątek na forum [http://forum.fedora.pl/index.php?showtopic=391 jak to potem odinstalować]
 
* wątek na forum [http://forum.fedora.pl/index.php?showtopic=391 jak to potem odinstalować]
 +
[[Kategoria:Administracja systemem]]

Aktualna wersja na dzień 07:49, 13 sty 2010

Tools.png
W budowie
Proszę przejrzeć czy to jest poprawnie w ogóle i dodać co wypada,
  • cmake to tak? bo nigdy nie robiłem ;P
  • opis checkinstall
Warn.png
Sprawdź najpierw!
artykuł Zarządzanie pakietami i jeśli to możliwe stosuj paczki rpm/src.rpm. Dopiero w ostateczności kompiluj paczki ze źródeł

Spis treści

[edytuj] Instalacja programu ze źródeł

Rozpakuj archiwum i przejdź do folderu ze źródłami. Standardowo sposób kompilacji i wymagane programy powinien znajdować się w pliku INSTALL programu (ostatecznie na stronie programu).

[edytuj]Narzędzia

Musisz mieć w systemie kilka narzędzi:

yum install gcc gcc-c++ make cmake automake\*

A jeśli zamierzasz użyć checkinstall, dostępna jest paczka rpm. Prawdopodobnie nie masz wszystkich wymaganych do kompilacji paczek. Jeśli program potrzebuje do kompilacji źródeł paczki xxx tzn. że w Fedorze jest to paczka xxx-devel. Problemy z zależnościami wyświetlą się podczas wpisywania kolejnych poleceń. Większość instalacji wygląda tak samo.

[edytuj]Ustawienia parametrów instalacji

Parametry ustawiane są zazwyczaj przez configure, ale coraz więcej projektów zaczyna korzystać z cmake zamiast z autotools. Wykonaj:

Note.png
Notatki
Gdzieś to trzeba wcisnąć: Odpowiednie wartości uzyskamy wpisując rpm --showrc i 'grepować' otrzymany wynik, bo zbędnych informacji jest sporo.'
  • jeśli program korzysta z configure
./configure

Żeby nie robić w systemie bałaganu można dodać prefiks, aby zmienić miejsce, do którego zostanie zainstalowany program. Typowo:

./configure --prefix=/usr/local 

Zgodnie z FHS 2.3 ręcznie kompilowane programy mają lądować do /usr/local/ by podczas aktualizacji systemu nie zostały nadpisane.

lub w domowym katalogu (utwórz wcześniej folder "usr" lub inny)

./configure --prefix=$HOME/usr
  • jeśli program korzysta z cmake
Note.png
Notatki
http://wiki.qgis.org/qgiswiki/Building_with_CMake Jeśli chcemy też podrasować kompilowaną aplikację, trzeba odpowiednio ustawić zmienne CFLAGS, CXXFLAGS i LDFLAGS.
cmake .

Prefix wskazujący na miejsce instalacji ustawimy stosując opcję:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local

W przypadku programów napisanych dla środowiska KDE4, takich jak np. amarok często wymaga się aby prefix ustawiony był jako:

cmake . -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`

Informacje diagnostyczne można wyłączyć stosując opcję:

cmake . -DCMAKE_BUILD_TYPE=Release

Jeśli zachodzi potrzeba włączenia/wyłączenie określonej funkcjonalności kompilowanego programu należy zastosować opcję

cmake . -D<zmienna>:<typ>=<wartość> np:
cmake . -DWITH_FFMPEG:BOOL=NO
cmake . -DWITH_FFMPEG:BOOL=YES

Można również skorzystać z graficznego interfejsu cmake:

[root@ X~]#yum install cmake-gui

W tym przypadku w programie cmake-gui należy wskazać rozpakowane źródła programu oraz katalog w którym będzie on kompilowany (jeśli nie tworzymy katalogu build obie ścieżki są takie same). Można teraz skonfigurować program według własnych potrzeb.

[edytuj]Kompilacja

Teraz najdłuższy proces. Kompilacja może trwać minutę, a może i kilka godzin w zależności od sprzętu i rozmiarów paczki.

make

Teraz opcjonalnie możesz wykonać symulację instalacji

make test

jeśli nie ma krytycznych błędów to jest ok.

[edytuj]Instalacja

Jeśli w ./configure ustawiłeś inny katalog niż domowy, to musisz się teraz zalogować na Konto root. Pozostaje wykonać

make install  

i zakończyć lekturę, albo możesz się powstrzymać i zamiast tego stworzyć paczkę rpm przy pomocy polecenia

checkinstall

checkinstall nie jest idealny, ale do domowego zastosowania powinien na początek wystarczyć. Jeśli Cię to nie satysfakcjonuje możesz stworzyć paczkę samodzielnie. Mając paczkę rpm łatwiej Ci będzie zarządzać oprogramowaniem w systemie.

Tip.png
"Święta Trójca"
na własna rękę to najprościej będzie wykonać jako root

./configure && make && make install

albo:

cmake . && make && make install

[edytuj]Jak usunąć własne paczki z systemu

To zależy od źródeł. Niektóre (te lepiej przygotowane) mają opcję

make uninstall

lub mają skrypt uninstall. Należy tylko pamiętać, że coś takiego może nam spowodować zaburzenia w pracy innych programów. Nie ma tu kontroli zależności jak w rpm. Jeżeli instalujemy program z podaniem innych ścieżek niż domyślne to odinstalowywanie nie zawsze się powiedzie. Poza tym zawsze pozostaje analiza make install, tam widać co jest wrzucane, więc wiadomo co wyrzucić.

[edytuj] Zobacz też

Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia