Hallo,
irgendwie macht mir compilieren z.Z. keinen Spaß mehr, denn da kommen Fehlermeldungen in der Art:
/usr/src/kde4/kdelibs/kdeui/windowmanagement/netwm.cpp:2167: undefined reference to `XGetWindowProperty'
also ein Hinweis, daß der Linker über etwas gestolpert ist.
Etwas grep bringt an den Tag:
kde@bs5:~/build/kdelibs/kdeui$ grep XGetWindow /usr/include/X11/* ... /usr/include/X11/Xlib.h:extern int XGetWindowProperty( ...
Xlib.h ist also da, eingebunden und enthält eine gültigen Verweis. Die Verfolgung hat geklappt, bloß leider hat der Verfolgte sein Ziel vergessen.Wie hilft man nun dem scheinbar defekten "extern int" weiter zu seinem Ziel?
Kann mir dazu jemand einen (nach Möglichkeit automatisierbaren) Tip geben? Ziel ist so etwas wie apt-get install (--reinstall) XYZ.
tia!
Bernhard
Hallo Bernhard,
On Sat, Mar 31, 2007 at 10:10:12AM +0200, Bernhard Schiffner wrote:
/usr/src/kde4/kdelibs/kdeui/windowmanagement/netwm.cpp:2167: undefined reference to `XGetWindowProperty'
Du suchst (Debian etch) libx11-dev. Und Deinem Makefile musst Du noch beibringen, gegen -lX11 zu linken.
Holger
On Sat, Mar 31, 2007 at 10:10:12AM +0200, Bernhard Schiffner wrote:
Hallo,
Hi Bernhard,
irgendwie macht mir compilieren z.Z. keinen Spaß mehr, denn da kommen Fehlermeldungen in der Art:
/usr/src/kde4/kdelibs/kdeui/windowmanagement/netwm.cpp:2167: undefined reference to `XGetWindowProperty'
also ein Hinweis, daß der Linker über etwas gestolpert ist.
Etwas grep bringt an den Tag:
kde@bs5:~/build/kdelibs/kdeui$ grep XGetWindow /usr/include/X11/* ... /usr/include/X11/Xlib.h:extern int XGetWindowProperty( ...
Xlib.h ist also da, eingebunden und enthält eine gültigen Verweis. Die Verfolgung hat geklappt, bloß leider hat der Verfolgte sein Ziel vergessen.Wie hilft man nun dem scheinbar defekten "extern int" weiter zu seinem Ziel?
Ein nm auf /usr/lib/libX11.a zeigt mir das XGetWindowProperty dort definiert ist.
Evtl. fehlt dir libxfixes-dev?
Ciao, Tobias
Am Samstag, den 31.03.2007, 10:10 +0200 schrieb Bernhard Schiffner:
irgendwie macht mir compilieren z.Z. keinen Spaß mehr, denn da kommen Fehlermeldungen in der Art:
/usr/src/kde4/kdelibs/kdeui/windowmanagement/netwm.cpp:2167: undefined reference to `XGetWindowProperty'
also ein Hinweis, daß der Linker über etwas gestolpert ist.
Etwas grep bringt an den Tag:
kde@bs5:~/build/kdelibs/kdeui$ grep XGetWindow /usr/include/X11/* ... /usr/include/X11/Xlib.h:extern int XGetWindowProperty( ...
Xlib.h ist also da, eingebunden und enthält eine gültigen Verweis. Die Verfolgung hat geklappt, bloß leider hat der Verfolgte sein Ziel vergessen.Wie hilft man nun dem scheinbar defekten "extern int" weiter zu seinem Ziel?
Kann mir dazu jemand einen (nach Möglichkeit automatisierbaren) Tip geben? Ziel ist so etwas wie apt-get install (--reinstall) XYZ.
Leider kann man aus deinen Ausführungen nicht schließen, ob der Linker denn weiß, wo er die libX11.so und die Header zu suchen hat und ob er überhaupt versucht gegen diese Bibliothek zu linken (-lX11)?
Aktuelle libx11-dev Pakete enthalten pkgconfig-Dateien. Überprüfe mal, ob dein Linkeraufruf enthält, was `pkg-config --libs x11' ausgibt. Bei aktuellen Debian/UBuntu-Systemen sollte das ein einfaches `-lX11' sein.
MfG Daniel
lug-dd@mailman.schlittermann.de