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

Z Fedora Wiki
Skocz do: nawigacji, wyszukiwania
m
m
Linia 1: Linia 1:
{{Box/Tools|W budowie|
+
{{Box/Tools|W budowie| Proszę przejrzeć czy to jest poprawnie w ogóle i dodać co wypada,
* opis checkinstall
+
 
* 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|
{{Box/Warn|Sprawdź najpierw!|artykuł Zarządzanie pakietami i stosuj paczki rpm/src.rpm tam opisane. Dopiero w ostateczności kompiluj paczki ze źródeł}}
+
 
__TOC__
 
__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).
 
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).
Linia 11: Linia 10:
 
Musisz mieć w systemie kilka narzędzi:
 
Musisz mieć w systemie kilka narzędzi:
 
  yum install gcc gcc-c++ make cmake automake\*
 
  yum install gcc gcc-c++ make cmake automake\*
A jeśli zamierzasz użyć checkinstall, dostępna jest [http://asic-linux.com.mx/~izto/checkinstall 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ń.
+
A jeśli zamierzasz użyć '''[http://asic-linux.com.mx/~izto/checkinstall 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.
 
Większość instalacji wygląda tak samo.
  
 
====Ustawienia parametrów instalacji====
 
====Ustawienia parametrów instalacji====
 
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.''}}
  
 
* jeśli program korzysta z <tt>configure</tt>
 
* jeśli program korzysta z <tt>configure</tt>
Linia 27: Linia 28:
  
 
* jeśli program korzysta z <tt>cmake</tt>
 
* jeśli program korzysta z <tt>cmake</tt>
cmake .
+
{{Notes| http://wiki.qgis.org/qgiswiki/Building_with_CMake
{{RamaR| http://wiki.qgis.org/qgiswiki/Building_with_CMake
+
 
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 .
  
 
====Kompilacja====
 
====Kompilacja====
Linia 43: Linia 44:
 
i zakończyć lekturę, albo możesz stworzyć '''paczkę rpm''' przy pomocy polecenia
 
i zakończyć lekturę, albo możesz stworzyć '''paczkę rpm''' przy pomocy polecenia
 
  checkinstall
 
  checkinstall
'''[http://www.google.pl/search?hl=pl&client=firefox-a&rls=org.mozilla:pl-PL:official&hs=AcF&ei=25fKScTTM4Wc-Aa4ro3DBg&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=Artyku%C5%82+o+checkinstall&spell=1 checkinstall]''' nie jest idealny, ale do domowego zastosowania powinien na początek wystarczyć. 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 [[Zarządzanie pakietami|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
 
{{Box/Tip|"Święta Trójca"|na własna rękę to najprościej będzie
Linia 51: Linia 52:
 
}}
 
}}
  
{{Notes| Gdzieś to trzeba wcisnąć: ''Odpowiednie wartości uzyskamy wpisyjąc rpm --showrc i 'grepować' otrzymany wynik, bo zbędnych informacji jest sporo.''}}
 
 
==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ę  

Wersja z 00:05, 26 mar 2009

Echo-bug-48px.png
Szablon się ciut zmienił. Dokumentacja tego szablonu
Echo-bug-48px.png
Szablon się ciut zmienił. Dokumentacja tego szablonu

Spis treści

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).

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.

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 wpisyją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 .

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.

Instalacjia

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 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.

Echo-bug-48px.png
Szablon się ciut zmienił. Dokumentacja tego szablonu

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ć.

Zobacz też

Osobiste
Przestrzenie nazw

Warianty
Działania
Wiki
Nawigacja
Inne
Narzędzia