Dieser Thread folgt einem Diskussionsanfang hier:
http://www.gimpforum.de/showthread.php?t=18177&page=5
Es geht darum, GIMP aus dem Git zu bauen, auf einem System, das nicht von sich aus die aktuellen Abhängigkeits-Anforderungen erfüllt, ohne dabei die vorhandenen System-Pakete zu berühren.
Was bereits erfolgt ist:
Aus Git wurden die folgenden Programme bezogen:
* BABL
* GEGL
* GIMP
und versuchsweise auch:
* GLlib
* GTK+
Angestrebt ist eine parallele Installation des "Entwicklungs-GIMP" in /opt/dev. Das System ist Slackware Linux 13.1.
Szenario 1: Bau der GLib und GTK+ aus dem Git als Grundlage für GIMP
Glib läßt sich ohne weiteres kompilieren. GTK+ wird danach wie folgt konfiguriert:
Code:
PKG_CONFIG_PATH="/opt/dev/lib/pkgconfig:/usr/lib/pkgconfig" LD_LIBRARY_PATH="/opt/dev/lib:/usr/lib" ./configure --prefix=/opt/dev
Das Konfigurationsskript bricht mit folgendem Fehler ab (Auszug):
Zitat:
|
Zitat von GTK+
checking for BASE_DEPENDENCIES... configure: error: Package requirements (glib-2.0 >= 2.27.5 atk >= 1.29.2 pango >= 1.20 cairo >= 1.10.0 cairo-gobject >= 1.10.0 gdk-pixbuf-2.0 >= 2.21.0) were not met:
Requested 'glib-2.0 >= 2.27.5' but version of GLib is 2.22.5
Requested 'cairo >= 1.10.0' but version of cairo is 1.8.8
No package 'cairo-gobject' found
Requested 'gdk-pixbuf-2.0 >= 2.21.0' but version of GdkPixbuf is 2.18.9
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
|
Ob ich nun die BASE_DEPENDENCIES_* setze, scheint im Ergebnis keine Rolle zu spielen. Das sollte ja auch schon per PKG_CONFIG_PATH geregelt sein (?). So versucht:
Code:
BASE_DEPENDENCIES_LIBS="-L/opt/dev/lib -lglib-2.0" BASE_DEPENDENCIES_CFLAGS="-I/opt/dev/include/glib-2.0/"
Ich bin mir sicher, daß diese Abhängigkeiten ihrerseits weitere Abhängigkeiten mit sich bringen, daher wähne ich mich bereits im Vorhof der Dependency Hell und suche nach Auswegen. Einer davon ist...
Szenario 2: Bau von GLib und GTK+ nach *_required_version in Git-GIMPs configure.ac
In der Hoffnung, mein System bietet genügend Aktualität für die Mindestanforderung der Abhängigkeitsversionen (gewählt: Glib 2.24.2, GTK+ 2.20.1), fange ich wieder an mit Glib, was auch wieder problemlos funktioniert.
GTK+ moniert diesmal nichts beim Durchlauf von ./configure.
Code:
PKG_CONFIG_PATH="/opt/dev/lib/pkgconfig:/usr/lib/pkgconfig" LD_LIBRARY_PATH="/opt/dev/lib:/usr/lib" BASE_DEPENDENCIES_LIBS="-L/opt/dev/lib -lglib-2.0" BASE_DEPENDENCIES_CFLAGS="-I/opt/dev/include/glib-2.0/" ./configure --prefix=/opt/dev
Es bricht jedoch während der "make"-Phase ab, mit folgendem Fehler:
Zitat:
|
Zitat von GTK+
libtool: link: gcc -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -g -O2 -Wall -o .libs/gtk-query-immodules-2.0 queryimmodules.o -pthread ./.libs/libgtk-x11-2.0.so -L/opt/dev/lib /home/user/src/gtk+-2.20.1/gdk/.libs/libgdk-x11-2.0.so ../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.so ../gdk/.libs/libgdk-x11-2.0.so /usr/lib/libXinerama.so /usr/lib/libXrandr.so /usr/lib/libXcursor.so /home/user/src/gtk+-2.20.1/gdk-pixbuf/.libs/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libstdc++.so /usr/lib/libXcomposite.so /usr/lib/libXext.so /usr/lib/libXdamage.so /usr/lib/libXfixes.so /usr/lib/libatk-1.0.so /usr/lib/libcairo.so /usr/lib/libpixman-1.so /usr/lib/libpng14.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libxcb.so /usr/lib/libXau.so /usr/lib/libXdmcp.so /opt/dev/lib/libgio-2.0.so -lresolv /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so -lz /usr/lib/libexpat.so /opt/dev/lib/libgobject-2.0.so /opt/dev/lib/libgmodule-2.0.so -ldl /opt/dev/lib/libgthread-2.0.so -lpthread -lrt /opt/dev/lib/libglib-2.0.so -lm -pthread -Wl,-rpath -Wl,/opt/dev/lib
./.libs/libgtk-x11-2.0.so: undefined reference to `g_malloc_n'
./.libs/libgtk-x11-2.0.so: undefined reference to `g_realloc_n'
./.libs/libgtk-x11-2.0.so: undefined reference to `g_malloc0_n'
collect2: ld returned 1 exit status
make[4]: *** [gtk-query-immodules-2.0] Fehler 1
make[4]: Leaving directory `/home/user/src/gtk+-2.20.1/gtk'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/user/src/gtk+-2.20.1/gtk'
make[2]: *** [all] Fehler 2
make[2]: Leaving directory `/home/user/src/gtk+-2.20.1/gtk'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/user/src/gtk+-2.20.1'
make: *** [all] Fehler 2
|
Meine Vermutung geht dahin, daß trotz Angabe der o. g. Umgebungsvariablen nicht die Glib aus /opt/dev, sondern die System-GLib herangezogen wird, in der scheinbar die fett markierten Funktionen noch nicht vorhanden sind. Eine Lösung habe ich bisher nicht, und die Ergebnisse der einschlägigen Suchmaschinen haben bisher für mehr Verwirrung als Erkenntnis gesorgt.
Vielleicht kann mir ja jemand die Augen öffnen. Würde gern mal wieder ein aktuelles GIMP ausprobieren.

Wenn weitere Infos benötigt werden, einfach fragen.
Danke schonmal!