hallo experten,
ich habe mittlerweile beim zweiten gnome app, das ich kompilieren
möchte die fehlermeldung, dass gtk nicht installiert sei, obwohl
mir gtk-config --version sagt, dass ich 1.2.8 installiert habe.
die imho entscheidende stelle in der config.log sieht so aus:
configure:2176: checking for GTK - version >= 1.2.0
configure:2277: gcc -o conftest -g -O2 -Wall -Wunused
-I/usr/lib/glib/include -I/usr/X11R6/include conftest.c
-L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule
-lglib -ldl -lXi -lXext -lX11 -lm 1>&5
/usr/i486-suse-linux/bin/ld: cannot find -lXi
collect2: ld returned 1 exit status
configure: failed program was:
#line 2199 „configure“
#include „confdefs.h“
#include
#include
#include
vielleicht kann jemand was damit anfangen, und mir sagen, wie ich
den fehler beheben kann…
thx micha
Hi,
/usr/i486-suse-linux/bin/ld: cannot find -lXi
Der beschwert sich nicht wegen der gtk sondern wegen Xi. Gib mal ein locate libXi. Wenn er das nicht findet, hats dara gelegen, dann musst Du die installieren.
Ausserdem hast Du ein Suse-System. Da liegt die gtk, wenn sie mit Gnome installiert wurde, meist in /opt/gnome/lib oder so. Der Pfad ist wiederum meist nicht im ld-path. Wenn das Programm mit ./configure, make, make install bebuildet wird, versuch mal folgende Zeile statt ./configure (in der bash!):
LDFLAGS=-L/opt/gnome/lib CFLAGS=-I/opt/gnome/include ./configure
Statt dieser Pfade kannst Du auch andere passende Pfade versuchen.
Gruss
Thorsten
P.S.:
Erzaehl wenns klappt.
Hallo Thorsten,
vielen Dank fuer die verstaendliche antwort, eine frage haette ich noch dazu, wenn ich die bibilothek nicht in /opt/gnome/lib finde, in welchem paket könnte suse die dann versteckt haben ?
ich versuche es heute abend gleich mal @home, nochmal vielen dank !!!
micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi,
vielen Dank fuer die verstaendliche antwort, eine frage haette
ich noch dazu, wenn ich die bibilothek nicht in /opt/gnome/lib
finde, in welchem paket könnte suse die dann versteckt haben ?
Bei mir (Suse 6.4?) ergibt die Suche (locate libXi) folgendes:
~ > locate libXi
/usr/i486-linux-libc5/lib/libXi.so
/usr/i486-linux-libc5/lib/libXi.so.6
/usr/i486-linux-libc5/lib/libXi.so.6.0
/usr/X11R6/lib/libXi.a
/usr/X11R6/lib/libXi.so
/usr/X11R6/lib/libXi.so.6
/usr/X11R6/lib/libXi.so.6.0
Ich kann gerade die Pakete nicht durchsuchen, da ich kein Suse-CD hier habe. Yast (Yast 1) hat aber eine Funktion alle Pakete zu durchsuchen. Such da mal nach libXi. Die Linker-Option -l[LIB] sagt: verwende libLIB.[a][so] zum linken. Die Endung .so ist glaube ich fuer statisches Linken, .a fuer dynamisches. Du musst also (mit locate oder in Yast) nach dem Muster libXi suchen, dann solltest Du es finden.
Gruss
Thorsten
P.S.:
Ich sschaetze, libXi ist eine standard X-Library, komisch, dass der die nicht findet …
~ > locate libXi
/usr/i486-linux-libc5/lib/libXi.so
/usr/i486-linux-libc5/lib/libXi.so.6
/usr/i486-linux-libc5/lib/libXi.so.6.0
/usr/X11R6/lib/libXi.a
/usr/X11R6/lib/libXi.so
/usr/X11R6/lib/libXi.so.6
/usr/X11R6/lib/libXi.so.6.0
Ich kann gerade die Pakete nicht durchsuchen, da ich kein
Suse-CD hier habe. Yast (Yast 1) hat aber eine Funktion alle
rpm -qf /usr/i486-linux-libc5/lib/libXi.so.6.0
ansonsten google: suse libxi.so
sagt dass diese Lib im Paket in xshared zu finden ist, zumindest bei suse 6.x, in suse 7.0 in shlibs5-2000.1.17-7.
Ciao Lutz
loesung ?!
hallo ihr beiden,
ich hab glaube ich eine lösung gefunden, allerdings bin ich mir nicht ganz sicher, ob es die sauberste ist…sie sieht jedenfalls so aus:
ein locate libXi ergab folgende ausgabe
/usr/X11R6/lib/libXi.so.6
/usr/X11R6/lib/libXi.so.6.0
also hat mir wohl die libXi.so gefehlt, da die libXi.so.6 auch nur auf die andere libXi.so.6.0 gelinkt war, hab ich also einen link libXi.so auf die Datei libXi.so.6.0 erstellt. ein beherztes configure lief nun durch. leider ist der gnome pilot nun immer noch nicht richtig kompiliert, da das make ein file nicht findet, also werde ich wohl doch nochmal im quellcode rumstolpern muessen… 
Jedenfalls danke ich euch, dass ihr mich auf die richtige spur gebracht habt, wisst ihr, ob das was ich praktiziert habe eine „saubere“ lösung ist ???
micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
also hat mir wohl die libXi.so gefehlt, da die libXi.so.6 auch
nur auf die andere libXi.so.6.0 gelinkt war, hab ich also
einen link libXi.so auf die Datei libXi.so.6.0 erstellt.
Ist korrekt. Ist seltsam, dass der Link nicht existierte, sollte eigentlich beim Installieren mit angelegt werden.
Ciao Lutz
hi Lutz,
…und da behaupten manche leute im chat, das die susi nix taugt…jetzt kann ich sie verstehen…
ich werde mich wohl doch mal mit meinen potatoe cds naeher beschaeftigen muessen…
ok, nochmals danke micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]