[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#481724: [kdebase-workspace] krunner/startupid.cpp: undefined reference to `XcursorGetDefaultSize'



Hi Fathi,

On Mon, May 19, 2008 at 9:12 AM, Fathi BOUDRA <fabo@debian.org> wrote:
> My guess: you have build kdebase-workspace in a non-clean environment (dpkg-buildpackage), and you have libxcursor-dev installed.
> It defines HAVE_XCURSOR and fails with undefined reference issue.
>
> I'm not able to reproduce your bug in a clean pbuilder environment as we don't build depend on libxcursor-dev and so don't fail on your issue.

You are explaining this in two lines and I spent a half day try to fix
it and especially the research took a while (I am new to kde-dev).
I had success at 07:25h GMT+2 with my packages - by commenting the
line containing "XcursorGetDefaultSize".

> the fix is easy,  startupid must link with xcursor when xcursor is used. It will be fixed on next upload (after guessing verify).
>

I am not working in a pbuilder-environment (planned) and _have_
libxcursor-dev installed.
By-the-way, I compared the source with that from kde.org itself.
Checked out what the Debian-build modifies...

I think that the developer are not beware of the problem because it is
bypassed (no libxcursor-dev installed).

I am only guessing... for me the variable assignment is strange.

#ifdef HAVE_XCURSOR
    // cursor_size = XcursorGetDefaultSize( QX11Info::display());
#endif

Again my tea is cold, Aaaaargh.
Find that brain-bug and ...

Regards,
Sedat

Excerpts from "/usr/include/X11/Xcursor/Xcursor.h"
...
define XCURSOR_BITMAP_HASH_SIZE    16

void
XcursorImageHash (XImage        *image,
                  unsigned char hash[XCURSOR_BITMAP_HASH_SIZE]);

/*
 * Display information APIs
 */
XcursorBool
XcursorSupportsARGB (Display *dpy);

XcursorBool
XcursorSupportsAnim (Display *dpy);

XcursorBool
XcursorSetDefaultSize (Display *dpy, int size);

int
XcursorGetDefaultSize (Display *dpy);

XcursorBool
XcursorSetTheme (Display *dpy, const char *theme);

char *
XcursorGetTheme (Display *dpy);

XcursorBool
XcursorGetThemeCore (Display *dpy);

XcursorBool
XcursorSetThemeCore (Display *dpy, XcursorBool theme_core);

_XFUNCPROTOEND

#endif
...



Reply to: