GIMP unter Windows kompilieren

Um eine aktuelle Version (derzeit 2.6.9) des Grafikbearbeitungsprogramms GIMP (GNU Image Manipulation Program) unter Windows selbst zu kompilieren, benötigt man eine ganze Reihe an Software sowie diverse Software-Bibliotheken. Im Gegensatz zu Linux bringt Windows hier von Haus aus leider recht wenig selbst mit.

1. MinGW

MinGW (Minimalist GNU for Windows) ist die Umgebung, in der wir GIMP kompilieren werden. Die aktuelle Version (derzeit 5.1.6) kann von Sourceforge heruntergeladen werden: Download

Bei der Installation von MinGW benötigen wir die MinGW base tools, MinGW Make und den g++ compiler.Man kann natürlich auch einfach alle Komponenten installieren, um für andere Projekte mit z.B. Java schon jetzt gerüstet zu sein. Am besten auch das Standardverzeichnis C:\MinGW beibehalten, da die nachfolgenden Beschreibungen und Skripte dies voraussetzen und ansonsten angepasst werden müssten.

2. MSYS

MSYS (Minimal System) ist eine Reihe von GNU Programmen, die zum Kompilieren benötigt werden, wie z.B. bash, make, grep, etc. – und wird jetzt als nächstes in der Version 1.0.11 heruntergeladen und in sein Standardverzeichnis C:\msys\1.0 installiert: Download

Nach der Installation erscheint ein Konsolenfenster, dessen Fragen wie folgt beantwortet werden:

  1. Do you wish to continue with the post install? -> y
  2. Do you have MinGW installed? -> y
  3. Where is your MinGW installation? -> c:/mingw (Achtung, hier nicht den Backslash „\“ verwenden!)

Alle neueren Versionen von MSYS sind noch nicht als Paket verfügbar und daher deutlich umständlicher zu installieren. Version 1.0.11 reicht für unsere Zwecke aber vollkommen aus.

3. Perl

Weiterhin benötigen wir noch Perl, z.B. von ActivePerl von ActiveState: Download

Hier bitte das zur Systemarchitektur passende Paket auswählen (32bit, x86 oder 64bit, x64), ansonsten kann jede Version gewählt werden (z.B. aktuelle stable Version 5.10.1.1007) und in C:\Perl installieren.

Um sicherzustellen, dass Perl in der Kommandozeile verwendet werden kann, müssen noch Umgebungsvariablen gesetzt werden. Diese sind bei Windows 7 unter Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Umgebungsvariablen zu erreichen.

Bei den Benutzervariablen wird hier entweder eine neue Variable PATH angelegt und gefüllt bzw. falls diese existiert mit folgendem Inhalt ergänzt:

c:\mingw;C:\Mingw\bin;C:\mingw\mingw32\bin; c:\msys\1.0\bin;c:\perl\bin

Weiterhin wird hier noch die Variable PKG_CONFIG_PATH angelegt und auf

C:\MinGW\lib\pkgconfig

gesetzt. Dies wird später noch benötigt.

Falls man sich bei der Installation von MinGW oder MSYS für andere Pfade entschieden hat, muss man diese Werte natürlich sinngemäß anpassen. In der Eingabeaufforderung von Windows (zu erreichen über Start -> cmd.exe -> Enter) kann durch Eingabe von

perl

die Funktion von Perl getestet werden. Wenn keine Fehlermeldung erscheint, hat es funktioniert (mit Strg+C abbrechen).

4. wget und unzip für Windows

Die Windowsversion von wget kann hier heruntergeladen werden: Download

Die wget.exe aus dem Archiv in das Verzeichnis C:\MinGW entpacken.

Die Windowsversion von unzip kann hier heruntergeladen werden: Download

Den ganzen Inhalt des Archivs in das Verzeichnis C:\MinGW entpacken.

5. GIMP Quelltext

Der Quelltext der aktuellen GIMP-Version (stable, 2.6.9) kann von folgendem FTP-Server heruntergeladen werden: Download

Den heruntergeladenen Quelltext entpacken wir nach C:\gimp (Order ggf. vorher anlegen) – durch die im Archiv enthaltene Ordnerstruktur liegen diese nun in folgendem Ordner: C:\gimp\gimp-2.6.9

6. Grundlegende Bibliotheken

Nun verwenden wir eine Kombination der soeben installierten Tools wget und unzip, um grundlegende Bibliotheken für das Kompilieren von GIMP zu installieren. Über ein Skript wird der Download und die Installation dieser Bibliotheken stark vereinfacht, da man diese ansonsten manuell herunterladen und entpacken müsste. Die untenstehende Version des Skripts basiert auf einem veralteten Tutorial zum Kompilieren von GIMP.


#!/bin/sh

MINGW="/mingw/"
TMP_DIR="c:/temp"

GLIB_BASE="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.22/"
GLIB_PACKAGES="glib_2.22.5-1_win32 glib-dev_2.22.5-1_win32"

GTK_BASE="http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.20/"
GTK_PACKAGES="gtk+-bundle_2.20.0-20100406_win32"

GTK_DEP_BASE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/"
GTK_DEP_PACKAGES="gettext-tools-0.17 gettext-runtime-0.17-1 gettext-runtime-dev-0.17-1 pkg-config_0.23-3_win32 libiconv-1.9.1.bin.woe32"

LIBART_BASE="ftp://ftp.gnome.org/pub/gnome/binaries/win32/libart_lgpl/2.3"
LIBART_PACKAGES="libart_lgpl-2.3.17 libart_lgpl-dev-2.3.17"

MINGW_BASE="http://heanet.dl.sourceforge.net/sourceforge/gnuwin32/"
MINGW_PACKAGES="libpng-1.2.37-bin libpng-1.2.37-dep libpng-1.2.37-lib jpeg-6b-4-bin jpeg-6b-4-dep jpeg-6b-4-lib tiff-3.8.2-1-bin tiff-3.8.2-1-lib freetype-2.3.5-1-bin freetype-2.3.5-1-lib zlib-1.2.3-bin zlib-1.2.3-lib libgw32c-0.4-lib libiconv-1.9.2-1-bin libiconv-1.9.2-1-dep libiconv-1.9.2-1-lib"

EXPAT_BASE="ftp://ftp.jclark.com/pub/xml/"
EXPAT_PACKAGE="expat"
EXPAT_DLL="expat/bin/xmltok.dll"

cd $TMP_DIR

echo "Downloading glib packages..."
for PACKAGE in $GLIB_PACKAGES;
do
if [ -e "$PACKAGE.zip" ]; then
echo "  Already there - extracting $PACKAGE.";
else
echo "  Getting $PACKAGE.";
wget "$GLIB_BASE/$PACKAGE.zip";
fi
echo "  Extracting $PACKAGE.";
unzip -o -q "$PACKAGE.zip" -d $MINGW;
done
echo "OK"

echo "Downloading GTK dependency packages..."
for PACKAGE in $GTK_DEP_PACKAGES;
do
if [ -e "$PACKAGE.zip" ]; then
echo "  Already there - extracting $PACKAGE.";
else
echo "  Getting $PACKAGE.";
wget "$GTK_DEP_BASE/$PACKAGE.zip";
fi
echo "  Extracting $PACKAGE.";
unzip -o -q "$PACKAGE.zip" -d $MINGW;
done
echo "OK"

echo "Downloading GTK packages..."
for PACKAGE in $GTK_PACKAGES;
do
if [ -e "$PACKAGE.zip" ]; then
echo "  Already there - extracting $PACKAGE.";
else
echo "  Getting $PACKAGE.";
wget "$GTK_BASE/$PACKAGE.zip";
fi
echo "  Extracting $PACKAGE.";
unzip -o -q "$PACKAGE.zip" -d $MINGW;
done
echo "OK"

echo "Downloading libart_lgpl packages..."
for PACKAGE in $LIBART_PACKAGES;
do
if [ -e "$PACKAGE.zip" ]; then
echo "  Already there - extracting $PACKAGE.";
else
echo "  Getting $PACKAGE.";
wget "$LIBART_BASE/$PACKAGE.zip";
fi
echo "  Extracting $PACKAGE.";
unzip -o -q "$PACKAGE.zip" -d $MINGW;
done
echo "OK"

echo "Downloadung GnuWin32 packages..."
for PACKAGE in $MINGW_PACKAGES;
do
if [ -e "$PACKAGE.zip" ]; then
echo "  Already there - extracting $PACKAGE.";
else
echo "  Getting $PACKAGE.";
wget "$MINGW_BASE/$PACKAGE.zip";
fi
echo "  Extracting $PACKAGE.";
unzip -o -q "$PACKAGE.zip" -d $MINGW;
done
echo "OK"

echo "Downloading and installing expat"
if ! [ -e "$EXPAT_PACKAGE.zip" ]; then wget -q "$EXPAT_BASE/$EXPAT_PACKAGE.zip"; fi
unzip -o -q "$EXPAT_PACKAGE.zip" -d .
cp $EXPAT_DLL $MINGW/bin
echo "OK"

echo "Freetype"
cp -Rp $MINGW/include/freetype2/freetype $MINGW/include/freetype

Dieses Skript in C:\gimp\gimp-dep.sh platzieren (kann auch hier heruntergeladen werden) und ein leeres Verzeichnis C:\temp anlegen. Nach dem Starten von MSYS können wir über folgende Befehle in der MSYS-Konsole das Skript starten:

cd /c/gimp
sh gimp-dep.sh

Wenn alles glattgeht, lädt das Skript die benötigten Pakete nach C:\temp herunter und entpackt sie automatisch nach C:\MinGW.

7. pthreads

Zusätzlich zu den soeben installierten Bibliotheken benötigen wir außerdem noch pthreads.

Wir laden also pthreads in der aktuellen Version 2.8.0 herunter: Download

Aus diesem Archiv benötigen wir die pthread.h und die sched.h welche wir nach C:\mingw\include\ kopieren.

8. BABL und GEGL

Nun zu den beiden letzten Komponenten, die wir selbst kompilieren werden: babl und gegl. Da gegl auf babl basiert, holen wir uns zuerst babl in der Version 0.1.2: Download

Das Archiv wird wieder wie gewohnt nach C:\gimp\entpackt, so dass wir diese Ordnerumgebung erhalten: C:\gimp\babl-0.1.2

Um einen Compiler-Fehler zu verhindern, kommentieren wir in den for-Schleifen in der Datei concurrency-stress-test.c im Ordner C:\gimp\babl-0.1.2\tests alle pthread-Funktionen aus, so dass es ungefähr so aussieht:

[...]
for (i = 0; i < N_THREADS; i++)
{
//     pthread_create (&threads[i],
//                     NULL, /* attr */
//                     babl_fish_path_stress_test_thread_func,
//                     NULL /* arg */);
}

/* Wait for them all to finish */
for (i = 0; i < N_THREADS; i++)
{
//      pthread_join (threads[i],
//                    NULL /* thread_return */);
}
[...]

Kompiliert wird das Ganze in der MSYS Konsole so (die auftretenden Warnungen wegen nicht verwendeter Variablen kann man ignorieren):

cd /c/gimp/babl-0.1.2/
./configure
make
make install

Da „make install“ nicht so richtig funktioniert, müssen die so erhaltenen Dateien aus C:\gimp\babl-0.1.2 manuell kopiert werden:

  • Das Verzeichnis babl komplett nach C:\mingw\include\, so dass dort C:\mingw\include\babl entsteht
  • Alle Headerdateien *.h aus dem Verzeichnis babl nochmal direkt nach C:\mingw\include
  • Das Verzeichnis .libs aus babl nach C:\mingw\lib\ kopieren, so dass dort C:\mingw\lib\.libs entsteht
  • Die Datei libbabl-0.1.la aus babl nach C:\mingw\lib\
  • Die Datei babl.pc aus dem Stammverzeichnis von babl nach C:\mingw\lib\pkgconfig\

Damit sind alle Voraussetzungen erfüllt, um das gleiche Spiel mit gegl durchzuziehen: Download

Wie vorher nach C:\gimp\ entpacken, und dann wieder in der MSYS Konsole kompilieren (dauert eine Weile):

cd /c/gimp/gegl-0.12/
./configure
make
make install

Auch die hier erhaltenen Dateien müssen wieder aus C:\gimp\gegl-0.1.2 manuell kopiert werden:

  • Das Verzeichnis gegl komplett nach C:\mingw\include\, so dass dort C:\mingw\include\gegl entsteht
  • Alle Headerdateien *.h aus dem Verzeichnis gegl nochmal direkt nach C:\mingw\include
  • Alle Headerdateien *.h aus den Unterverzeichnissen gegl/buffer, gegl/graph, gegl/module, gegl/operation, gegl/process und gegl/property-types nochmal direkt nach C:\mingw\include
  • Das Verzeichnis gegl/operation nach C:\mingw\include, so dass dort C:\mingw\include\operation entsteht
  • Das Verzeichnis .libs aus gegl nach C:\mingw\lib\ kopieren, so dass es dort in das von babl vorhandene C:\mingw\lib\.libs integriert wird
  • Die Datei libgegl-0.1.la aus gegl nach C:\mingw\lib\
  • Die Datei gegl.pc aus dem Stammverzeichnis von gegl nach C:\mingw\lib\pkgconfig\

9. intltool

Update: intltool muss noch auf den neuesten Stand gebracht werden, damit das Kompilieren von GIMP funktioniert.

http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/
Tarball downloaden und in c:\MingW in eigenen Pfad entpacken.

Msys starten und
cd /mingw/intltool-0.40.6
./configure
make
make install

Danke an herrgismo für diese Anmerkung!

10. Endlich GIMP kompilieren

Wenn bis hierher alles glatt gegangen ist, können wir nun endlich GIMP (ohne Python) kompilieren. Wer gern Python mag, kann Python installieren (analog wie Perl) und die Konfigurationsanweisung weglassen. Wie immer in der MSYS Konsole folgende Befehle ausführen (nach „make“ + Enter am besten Kaffeetrinken gehen):

cd /c/gimp/gimp-2.6.9/
./configure --disable-python
make
make install

Gestartet werden kann GIMP dann über die erzeugte Executable: C:\msys\1.0\local\bin\gimp-2.6.exe
GIMP 2.6 unter Windows kompiliert und gestartet

Viel Spaß! 🙂

P.S.: Habe gerade darüber nachgedacht, dass man sich vielleicht einen Großteil der Hin- und Her-Kopiererei sparen kann, wenn man die PATH-Variable geschickt erweitert. Werde ich bei Gelegenheit mal überprüfen.

40 Kommentare zu „GIMP unter Windows kompilieren“

  1. Pingback: GIMP-Plugins unter Windows kompilieren | Thomas Lutz

  2. Vielen Dank für dieses gelungene Tutorial. Werde ich am WE versuchen.

    Wenn man sich die Grundkonfiguration einmal nach dem Schema eingerichtet hat, müsste man soch immer nur den aktuellen Quellcode laden und komplieren, oder?

    Gruß
    leachim

  3. Sag Bescheid, ob es geklappt hat.

    Ich habe damit 2.6.8 und 2.6.9 kompiliert, sollte also mit neueren Versionen ebenso funktionieren – es sei denn, es kommen (z.B. mit 2.7) neue Abhängigkeiten dazu. Das sollte sich dann aber auch recht einfach fixen lassen.

  4. Hi,

    habe soeben Gimp 2.7.1 kompiliert.
    Das Tut ist also up2date.
    Einzig intltool muss man uptöten.

    [QUOTE]
    http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/
    Tarball downloaden und in c:\MingW in eigenen Pfad entpacken.

    Msys starten und
    cd /mingw/intltool-0.40.6
    ./configure
    make
    make install
    [/QUOTE]

    Dann funzt das. 😉

    Gedanke:
    wenn man babl und gegl auch gleich ins mingw entpackt,
    kann man sich dann nicht das lästige rumkopieren sparen?

    Vielen Dank Thomas, ganz grosses Kino! (up)

    Starten tut auch dieses Gimp leider nicht auf diesem Rechner, er bringt wieder den libcairo-2.dll Fehler.
    Hast du da ne Idee?

    Gruss Ingo

  5. [gegl-tile-backend-tiledir.lo] Error 1
    [all-recursive] Error 1

    Compiler at compile GEGL without success. Did not produce the required documents (. Lib which do not file). what will I do?

    Thank you

  6. Ingo: Den libcairo-2.dll Fehler hatte ich nicht, welches Windows läuft bei dir?
    lvxing: Can you give me more context messages where the errors are occuring?

  7. I want to use GIMP to do a software. The software will support handwriting function. When opening the software, I can use a pen or a finger painting on the computer screen. But I do not know the GIMP source code, you can give me some advice?

    Thanks again!
    lvxing(吕行)

  8. Failed to set operation type gegl:nop.using a pass through op instead

    where the errors are occuring?
    How to do?
    谢谢

  9. ** WARNING**:Failde to det operation type gegl:nop,using assthrough op instead.

    **:WARNING**: The failing op was ‚gegl:nop‘ this means that GIMP was unable to locate any of it’s plug-ins.Try making GIMP_PATH point to the directory containing the .so|dll files with the image processing plug-ins, optionally you could try to make to point to the operations directory of a GEGL sourcetree with a build.

    make[5]: ***[clones.png] Error 5
    make[4]: ***[images.stamp] Error 2
    make[3]: ***[all-recursive] Error 1
    Ich bin ein Rookie.
    I am a rookie.please help me.
    Thanks

  10. Thomas Lutz:
    I’m sorry. I can not. The first time I heard „postebin“. I just read something about it,but I still do not know how specific should I do?

    Thanks

  11. lvxing: Sorry, I cannot reproduce your error. Compiling babl worked for you?
    You can try to use ./configure --disable-docs before compiling gegl as stated here.

  12. Thank you all the same. I try it.I have done.But there is a new issue of making the GIMP.

    collect2: ld returned 2 exit status
    make[3]: ***[gimp-2.6.exe] Error 1
    make[3]: leaving directory ‚/c/gimp/gimp-2.6.9/app‘
    make[2]: ***[all-recursive] Error 1
    make[2]: leaving directory ‚/c/gimp/gimp-2.6.9/app‘
    make[1]: ***[all-recursive] Error 1
    make[1]: Leaving directory ‚/c/gimp/gimp-2.6.9‘
    make: ***[all] Error 2

    what is the reason causing this error?

  13. c:/gimp/gimp-2.6.9/gegl/gegl-init.c:53: multiple definition of ‚[email protected]
    ………………………………………………
    collect2: ld returned 2 exit status
    make[3]: ***[gimp-2.6.exe] Error 1
    make[3]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[2]: ***[all-recursive] Error 1
    make[2]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[1]: ***[all-recursive] Error 1
    make[1]: Leaving directory ‘/c/gimp/gimp-2.6.9′
    make: ***[all] Error 2

    what is the reason causing this error?

  14. c:/gimp/gimp-2.6.9/gegl/gegl-init.c:53: multiple definition of ‘[email protected]
    c:/gimp/gimp-2.6.9/libgimpbse/.libs/libgipbase-2.0.a:c:/gimp/gimp-2.6.9/libgimpbase/gimpenv.c:278
    sanity.o …………anity_check……
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_major_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_micro_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_micro_version

    collect2: ld returned 2 exit status
    make[3]: ***[gimp-2.6.exe] Error 1
    make[3]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[2]: ***[all-recursive] Error 1
    make[2]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[1]: ***[all-recursive] Error 1
    make[1]: Leaving directory ‘/c/gimp/gimp-2.6.9′
    make: ***[all] Error 2

    what is the reason causing this error?
    please help me!
    I don’t want to give it up!
    Thanks!

  15. I try it (e.g.2.6.8). The same error.
    c:/gimp/gimp-2.6.9/gegl/gegl-init.c:53: multiple definition of ‘[email protected]
    c:/gimp/gimp-2.6.9/libgimpbse/.libs/libgipbase-2.0.a:c:/gimp/gimp-2.6.9/libgimpbase/gimpenv.c:278
    sanity.o …………anity_check……
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_major_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_micro_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.9/app/sanity.c:104 imp_gimp_micro_version

    collect2: ld returned 2 exit status
    make[3]: ***[gimp-2.6.exe] Error 1
    make[3]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[2]: ***[all-recursive] Error 1
    make[2]: leaving directory ‘/c/gimp/gimp-2.6.9/app’
    make[1]: ***[all-recursive] Error 1
    make[1]: Leaving directory ‘/c/gimp/gimp-2.6.9′
    make: ***[all] Error 2

  16. c:/gimp/gimp-2.6.8/gegl/gegl-init.c:53: multiple definition of ‘[email protected]
    c:/gimp/gimp-2.6.8/libgimpbse/.libs/libgipbase-2.0.a:c:/gimp/gimp-2.6.9/libgimpbase/gimpenv.c:278
    sanity.o …………anity_check……
    c:/gimp/gimp-2.6.8/app/sanity.c:104 imp_gimp_major_version
    c:/gimp/gimp-2.6.8/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.8/app/sanity.c:104 imp_gimp_micro_version
    c:/gimp/gimp-2.6.8/app/sanity.c:104 imp_gimp_minor_version
    c:/gimp/gimp-2.6.8/app/sanity.c:104 imp_gimp_micro_version

    collect2: ld returned 2 exit status
    make[3]: ***[gimp-2.6.exe] Error 1
    make[3]: leaving directory ‘/c/gimp/gimp-2.6.8/app’
    make[2]: ***[all-recursive] Error 1
    make[2]: leaving directory ‘/c/gimp/gimp-2.6.8/app’
    make[1]: ***[all-recursive] Error 1
    make[1]: Leaving directory ‘/c/gimp/gimp-2.6.8′
    make: ***[all] Error 2

  17. ———————————————————————-
    /bin/install -c .libs/libgimpconfig-2.0.dll.a /usr/local/lib
    /bin/install: cannot stat `.libs/libgimpconfig-2.0.dll.a‘: No such file or directory
    make[2]: *** [install-libtool-import-lib] Error 1
    make[2]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpconfig‘
    make[1]: *** [install-am] Error 2
    make[1]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpconfig‘
    make: *** [install-recursive] Error 1

    When I make install it,I did not get libgimpcongfig-2.0.dll.a.

    where can I get it ?
    How can I get it ?
    THANKS!

  18. I’m not sure what you are doing wrong. Everything you need should be described in my post. And yet again my question: Which version of Windows are you using?

  19. windows7,

    when I make it,it is no proplem ,then I make install I get this

    /bin/install -c .libs/libgimpbase-2.0.dll.a /usr/local/lib
    /bin/install: cannot stat `.libs/libgimpbase-2.0.dll.a’: No such file or directory
    make[2]: *** [install-libtool-import-lib] Error 1
    make[2]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpbase’
    make[1]: *** [install-am] Error 2
    make[1]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpbase’
    make: *** [install-recursive] Error 1

    I down libgimpbase-2.0.dll.a from the internet.
    but it have similar error ,

    /bin/install: cannot stat `.libs/llibgimpcolor-2.0.dll.a’: No such file or directory
    make[2]: *** [install-libtool-import-lib] Error 1
    make[2]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpcolor’
    make[1]: *** [install-am] Error 2
    make[1]: Leaving directory `/c/gimp/gimp-2.6.8/libgimpcolor’
    make: *** [install-recursive] Error 1
    I down libgimpcolor-2.0.dll.a from the internet.

    ……………………
    but I can’t find libgimpconfig-2.0.dll.a from internet.

    I don’t what I can do ?

    thanks!

  20. Hi Thomas,
    vielen Dank für die Anleitung.
    Konnte soweit alles zusammenstellen.
    Aber configure von gimp bricht dann mit folgender Meldung ab:
    checking whether binary relocation support should be enabled… no
    checking for _NL_MEASUREMENT_MEASUREMENT… no
    checking whether NLS is requested… yes
    checking for intltool >= 0.36.3… ./configure: /c/Mingw/bin/intltool-update: /o
    pt/perl/bin/perl: bad interpreter: No such file or directory found
    configure: error: Your intltool is too old. You need intltool 0.36.3 or later.

  21. Hi Thomas,
    das war’s!
    Kannst Du das in der Anleitung noch nachtragen? Scheint ohne nicht zu laufen.
    Super Anleitung, vielen Dank für die Hilfe.
    Gruss, Nick

  22. Pingback: Pandur2000 - Stefan Jacobi » PSP, Fireworks oder.. Gimp?! »

  23. Hello Thomas,

    thank you for an excellent guide.

    I tried it, and unfortunately something goes wrong at the very end:

    sanity.o:sanity.c:(.text+0x3f): undefined reference to
    `_imp__gimp_major_version‘
    sanity.o:sanity.c:(.text+0x4a): undefined reference to
    `_imp__gimp_minor_version‘
    sanity.o:sanity.c:(.text+0x50): undefined reference to
    `_imp__gimp_micro_version‘
    sanity.o:sanity.c:(.text+0x7e): undefined reference to
    `_imp__gimp_minor_version‘
    sanity.o:sanity.c:(.text+0x89): undefined reference to
    `_imp__gimp_micro_version‘
    collect2: ld returned 1 exit status

    I also updated the excellent „CompileGimpAtWindowsShellScript“, referenced in thread http://www.gimptalk.com/forum/viewtopic.php?f=2&t=45857&p=358330&hilit=compile+on+windows#p358330.

    It returns exactly the same error.

    My updated script is here:
    http://www.bitberry.com/tempdir/gimp/compile-gimp.sh

    Complete compile output is here:
    http://www.bitberry.com/tempdir/gimp/out.txt (zipped:
    http://www.bitberry.com/tempdir/gimp/out.zip)

    The compile almost gets to the end. Here is the last error:

    CC gimp-log.o windres gimp.rc gimprc.o
    CCLD gimp-2.7.exe Info: løser _babl_total_usecs ved at lænke til
    __imp__babl_total_usecs (automatisk import)
    c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
    warning: auto-importing has been activated without –enable-auto-import
    specified on the command line.
    This should work unless it involves constant data structures
    referencing symbols from auto-imported DLLs.
    sanity.o:sanity.c:(.text+0x3f): undefined reference to
    `_imp__gimp_major_version‘
    sanity.o:sanity.c:(.text+0x4a): undefined reference to
    `_imp__gimp_minor_version‘
    sanity.o:sanity.c:(.text+0x50): undefined reference to
    `_imp__gimp_micro_version‘
    sanity.o:sanity.c:(.text+0x7e): undefined reference to
    `_imp__gimp_minor_version‘
    sanity.o:sanity.c:(.text+0x89): undefined reference to
    `_imp__gimp_micro_version‘
    collect2: ld returned 1 exit status
    make[3]: *** [gimp-2.7.exe] Error 1
    make[3]: Leaving directory `/gimptest2/gimp-compile-dir/gimp-2.7.0/app‘
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/gimptest2/gimp-compile-dir/gimp-2.7.0/app‘
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/gimptest2/gimp-compile-dir/gimp-2.7.0′
    make: *** [all] Error 2

    I’m using MinGW-5.1.6 and MSYS-1.0.11 on Windows XP SP3 32-bit in a
    VMWare virtual machine and tried both GIMP 2.6.9 and 2.7 – same result.

    Any idea what could be causing this?

    Any hints would be greatly appreciated.

  24. Hi Thomas,

    I follow your instruction steps, but has the same problem as them. Can zip your MInGW folder and share it to us, I think it will help us to compile GIMP-2.6.9 successfullt.

    ShineLin

  25. Hallo,

    super Tut bis hier hin. Wenn ich allerdings versuche intltool upzudaten wird gemäckert, dass perl 5.8.1 required wird. Ich habe aber zuerst die aktuelleste Installiert und dann später noch die in deinem tut verwendete. Kein Erfolg leider. Hast du vielleicht einen Tip?

    checking for perl… /bin/perl
    checking for perl >= 5.8.1… configure: error: perl 5.8.1 is required for intltool

    gruß Max

  26. @Brian R, @shine:

    Sorry, no idea – which exact version of babl and gegl did you use?

    @mxlampert:

    Are you sure you set your PATH-Variable right? What happens when you type „perl -v“ into MSYS?

  27. Finally i got it working. I had to fiddle arround with that perl stuff. MSYS has had an older version of perl as my windows installation.
    Is it possible to compile 2.7 with your guide?

  28. Can you tell us how exactly you solved the problem with the older version?

    Have you tried compiling 2.7? (I have not)

  29. I think the problem was, that i used the x64 version of perl which installs it self into c:\perl64 so the PATH variable was set wrong.
    At the moment gimp 2.7.1 compiles.
    Unsing „make -j11“ made it very fast on my XEON L5640.

    regards and thx 🙂

  30. Now there is another Problem, after compiling i can not start gimp. i get an error massage that says: g_maloc0_n have not been found in libglib-2.0-0.dll. ?!

  31. Ok, again i finally made it. i have had an old version of libglib-2.0-0.dll on my machine.
    For distributing i had to copy nearly all of the dlls from mingw/bin to gimp/bin.
    Now it seems to work on other machines either.

  32. Pingback: PSP, Fireworks oder.. Gimp?! – Stefan Jacobi

Kommentarfunktion geschlossen.