Kompilacja Gimpa w Systemie Windows

Wstęp

Poradnik ten został napisany na podstawie tutoriala zawartego na stronie GIMP Talk oraz własnego doświadczenia. Podjęcie się tego zadania zaleca się jednak zaawansowanym użytkownikom mającym pewne doświadczenie z pracą w konsoli tekstowej a najlepiej również z kompilowaniem programów w systemie Linux. Jeżeli nie ma wyraźnej potrzeby ani wskazań do tego by samemu przeprowadzić kompilację najlepiej skorzystać z wersji instalacyjnej, do której instrukcja znajduje się tutaj.

Kompilacja w systemie Windows jest trudniejsza niż w systemie Linux i zajmuje tez znacznie więcej czasu. W zależności od szybkości sprzętu a także parametrów połączenia sieciowego może trwać (nawet przy bezproblemowym przebiegu) 5 godzin a nawet więcej.

Wymagania

1. Aktywne połączenie sieciowe.
2. Minimum 1 GB miejsca na twardym dysku.
3. Pliki źródłowe oraz całe środowisko powinno się znajdować na jednym dysku logicznym.

Środowisko potrzebne do kompilacji

MinGW

Środowiskiem pozwalającym na skompilowanie GIMPa jest MinGW (Minimalist GNU for Windows). Zatem pierwszą konieczną rzeczą jest pobranie obecnej wersji ze strony Sourceforge .
Plik MinGW-5.1.3.exe

  1. Uruchamiamy program instalacyjny
  2. Jeżeli pojawi się monit:

    A newer version of MinGW installer is now available. Would you like to upgrade now?

    Wybieramy opcję “Nie”. Wybranie opcji “Tak” powoduje w niektórych przypadkach przerwanie działania lub zawieszeni programu instalacyjnego.
  3. Wybieramy opcję „Download & Install”
  4. Akceptujemy licencję.
  5. W zapytaniu o rodzaj wersji do instalacji wybieramy „Current”
  6. Wybieramy składniki: "MinGW base tools", "MinGW Make" oraz "g++ compiler"
  7. Domyślną ścieżką jest „C:\MinGW” którą oczywiście można zmienić, jednak należy pamiętać o późniejszym wyedytowaniu skryptu gimp-dep.sh o którym będzie mowa poniżej.
  8. Instalujemy

MSYS

Dodatkiem do MinGW jest MSYS (Minimal System) którego zainstalowanie jest kolejnym krokiem.

  1. Pobieramy wersję instalacyjną programu - plik MSYS-1.0.10.exe z i uruchamiamy.
  2. Wpisujemy ścieżkę instalacji na tym samym dysku logicznym.

Podczas instalacji pojawi się okno konsoli z kilkoma pytaniami:
"Do you wish to continue with the post install?" => "y"
"Do you have MinGW installed?" => "y"
"Where is your MinGW installation?" => "c:/mingw" ("/", nie "\"!)

PERL

Aby skompilować GIMPa potrzebny nam jest również PERL. Najlepiej użyć wersji ActiveState PERL .

  1. Pobieramy archiwum i rozpakowujemy w dowolnym miejscu
  2. Uruchamiamy skrypt installer.bat pojawi się okienko konsoli z kilkoma pytaniami:
    “Did you read LICENSE.txt file?” => “yes
    “Do you agree to the ActivePerl Community License?” => “yes
    “Enter top level directory for install?” => Enter zaakceptuje wybór domyślny podany w nawiasach kwadratowych, można również wpisać własną lokalizację.
    „Proceed?” => Enter (“yes”)
    „Create shortcuts to the documentation?” => W zależności od tego co chcemy, nie ma wpływu na poprawną działalność
    „Add the Perl\site\bin and Perl\bin directories to the PATH?” => Enter (“yes”) —- ważne!!!
    “Create Perl file extension association?” => Enter (“yes”)
    “Create IIS script maping for Perl?” => Enter (“yes”)
    “Create IIS script maping for Perl ISAPI?” => Enter (“yes”)
    „Proceed?” => Enter (“yes”) _
  3. Po skończonej instalcji wciskamy Enter aby zamknąć okienko konsoli.

*Ustawianie zmiennych środowiskowych*

Bardzo ważne jest, aby narzędzia do kompilacji łącznie z PERL działały gdy zostaną uruchomione z linii komend. Aby to sprawdzić otwieramy okienko konsoli (Start/Uruchom w pasku wpisujemy „cmd) po czym wpisujemy kolejno „gcc” oraz „perl”. Jeżeli pojawi się komunikat:

„Nazwa ‘…’ nie jest rozpoznawalna jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy.”

oznacza to że musimy ręcznie ustawić zmienne środowiskowe.

Klikamy prawym przyciskiem na Mój komputer, wybieramy Właściwości (lub wciskamy kombinację klawiszy [Win]+[Pause]) wybieramy kartę Zaawansowane, przycisk Zmienne środowiskowe (na dole). W okienku Zmienne systemowe wyszukujemy nazwę „Path” lub „PATH” i wybieramy ją do edycji (jeżeli jej nie ma wciskamy przycisk Nowa i jako nazwę wprowadzamy „PATH”). Dodajemy do tej zmiennej wartości "c:\MinGW; c:\ MinGW \bin; c:\ MinGW \mingw32\bin; c:\msys\1.0\bin; c:\Perl\bin; c:\Perl\site\bin " (oczywiście jeżeli programy zostały zainstalowane w podanych ścieżkach, jeśli nie należy podać własne)

Na wszelki wypadek tworzymy jeszcze zmienną o nazwie PKG_CONFIG_PATH i wartości "c:\MinGW\lib\pkgconfig".

wget oraz unzip

Pobieramy unzip wersję binaries unzip-5.51-1-bin-1.zip i rozpakowujemy bezpośrednio do katalogu c:\MinGW (nie do podkatalogu!)

Pobieramy wget wgetwin-1_5_3_1-binary.zip i również rozpakowujemy bezpośrednio do katalogu c:\MinGW.

Pobieramy kod źródłowy GIMPa(tu została użyta wersja rozwojowa 2.3.10 - development version gimp-2.3.10.tar.bz2) i rozpakowujemy do c:\gimp. Kod źródłowy powinien być dostępny w c:\gimp\gimp-2.3.10

Pobieramy również skrypt i umieszczamy go w katalogu c:\gimp. Służy on do pobrania i instalacji bibliotek koniecznych do skompilowania GIMPa. Można również instalować biblioteki ręcznie rozpakowując odpowiednie pliki wymienione w skrypcie do c:\MinGW lecz zajmuje to więcej czasu. Jeżeli katalog, w którym zainstalowaliśmy MinGW jest inny niż domyślny c:\MinGW wtedy otwieramy do edycji wymieniony skrypt i zmieniamy wartość MINGW na odpowiednią ścieżkę. Dla przykładu, jeżeli zainstalowaliśmy MinGW na dysku D wtedy początek skryptu powinien wyglądać:

MINGW="d:/MinGW/"
TMP_DIR="d:/temp"

Oczywiście katalog d:\temp powinien istnieć i być dostępny do zapisu.

Pobranie bibliotek

Uruchamiamy program MSYS (Start / Programy / MinGW / MSYS / msys), zmieniamy katalog na c:\gimp i uruchamiamy wspomniany skrypt:

cd /c/gimp
sh gimp-dep.sh

Rozpoczął się process pobierania i instalacji odpowiednich bibliotek. Jego czas zależy od szybkości połączenia sieciowego (kilkadziesiąt MB do pobrania). Po jego zakończeniu możemy już przystąpić do kompilacji.

Kompilacja

Teraz gdy mamy już przygotowane środowisko możemy przystąpić do właściwej kompilacji. Przechodzimy do katalogu z kodem źródłowym GIMPa i uruchamiamy plik konfiguracyjny:

cd /c/gimp/gimp-2.3.10
./configure --disable-print --disable-python

Proces ten może zająć kilkadziesiąt minut. Jeżeli zakończy się sukcesem przystępujemy do tworzenia plików instalacyjnych wpisując komendę

make

Ten proces trwa najdłużej i może zająć kilka godzin. Jeżeli zakończy się sukcesem przystępujemy do instalacji wpisując

make install

Ten proces może również potrwać kilkadziesiąt minut a nawet powyżej godziny. Jeżeli nie wystąpią żadne błędy otrzymamy działający plik wykonywalny GIMPa w lokalizacji

Często spotykane błędy.

Błędy przy kompilacji programu GIMP zazwyczaj pojawiają się w przypadku bibliotek. Opisane tutaj oczywiście nie wyczerpują całej listy możliwych błędów tylko zaznaczają w jaki sposób można próbować sobie radzić gdyby pojawiły się inne.

Problem:

Problem z plikami xmlparse.dll lub xmltok.dll

Rozwiązanie:

Pobierz plik expat.zip i skopiuj biblioteki do c:\MinGW\bin

Problem:

Podczas makeowania pojawia się komunikat

checking for GLIB - version >= 2.12.3... no
Could not run GLIB test program, checking why...

The test program failed to compile or link. See the file config.log for t
exact error that occured. This usually means GLIB is incorrectly installe
configure: error: Test for GLIB failed. See the file 'INSTALL' for help.

Rozwiązanie:

Pobierz nowszą wersję bibliotek GLIB a jeśli nie przyniesie to efektu przy uruchamianiu pliku konfiguracyjnego dopisz

--disable-glibtest

Problem:

Podczas makeowania pojawia się komunikat

checking for GTK - version >= 2.8.0... no
Could not run GTK test program, checking why...

The test program failed to compile or link. See the file config.log for t
exact error that occured. This usually means GTK is incorrectly installe
configure: error: Test for GTK failed. See the file 'INSTALL' for help.

Rozwiązanie:

Pobierz nowszą wersję bibliotek GTK a jeśli nie przyniesie to efektu przy uruchamianiu pliku konfiguracyjnego dopisz

--disable-gtktest

Problem:

Podczas uruchamiania make install pojawia się komunikat o błędzie w -lintl

Rozwiązanie:

Pobierz gettext-dev-0.14.5 i rozpakuj do c:\MinGW

Jeżeli pojawi się problem z jakąkolwiek biblioteką należy sprawdzić w skrypcie gimp-dep.sh źródło jej pobrania i pobrać jej nowszą (lub tą samą) wersję, przy czym zaleca się pobieranie bibliotek prekompilowanych, aby uniknąć kolejnych kłopotów.

Jeżeli nie wiemy z jaką biblioteką może być to problem pomóc może następujący sposób rozumowania:
Jeżeli w komunikacie o błędzie występuje fraza -lxyzlib znajdujemy w katalogu c:\MinGW plik xyzlib.dll i sprawdzamy skąd może pochodzić. Jeżeli nazwa nic nie sugeruje pomóc mogą właściwości pliku w których podawana jest jego wersja. Wyszukujemy w skrypcie gimp-dep.sh bibliotekę o takim samym numerze wersji i pobieramy ją z podanej ścieżki po czym rozpakowujemy do katalogu c:\MinGW

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License