GNOME Bugzilla – Bug 566242
goffice-0.6.5 and before relies on X11 gtk+
Last modified: 2009-01-12 08:19:03 UTC
Steps to reproduce: 1. compile goffice against a non-X11 gtk+ (aqua will do) 2. 3. Stack trace: foo-canvas-rect-ellipse.c:45:22: error: gdk/gdkx.h: No such file or directory foo-canvas-rect-ellipse.c: In function 'foo_canvas_rect_realize': foo-canvas-rect-ellipse.c:847: warning: implicit declaration of function 'gdk_x11_drawable_get_xdisplay' foo-canvas-rect-ellipse.c:847: warning: nested extern declaration of 'gdk_x11_drawable_get_xdisplay' foo-canvas-rect-ellipse.c:847: warning: assignment makes pointer from integer without a cast foo-canvas-rect-ellipse.c:855: warning: implicit declaration of function 'gdk_x11_visual_get_xvisual' foo-canvas-rect-ellipse.c:855: warning: nested extern declaration of 'gdk_x11_visual_get_xvisual' foo-canvas-rect-ellipse.c:855: warning: assignment makes pointer from integer without a cast foo-canvas-rect-ellipse.c: In function 'render_rect_alpha': foo-canvas-rect-ellipse.c:908: warning: assignment makes pointer from integer without a cast foo-canvas-rect-ellipse.c:911: warning: implicit declaration of function 'gdk_x11_drawable_get_xid' foo-canvas-rect-ellipse.c:911: warning: nested extern declaration of 'gdk_x11_drawable_get_xid' Other information:
I'm trying to build a native gnucash on osx and this is the last blocking issue, I've resolved most other build depedancy problems.... Solving this would leave me with solving any gnucash related problems :-)
This is imported code, so no easy solution. We might write a new simple cairo based canvas widget, analogous to foocanvas, but it needs work.
Mmm how do other parts of the code solve this problem ? Isn't there a generic way of getting at the needed functions defined in gtk+ ? This must be a common problem, the same holds true for goffice on windows... P.S> I'm total newbie to gtk+ or goffice code so please accept my apologies if the above is complete BS
Good point. I had a look to the code. These calls are used only when libXrender is present. It should be possible to add a --without-xrender option to configure, but somebody might have a better idea.
Created attachment 125691 [details] [review] Tentative patch Please try this patch. It was made against HEAD, but ought to work for 0.6.x too.
Applied to HEAD. Feel free to apply to 0.6.x after testing.
I tested it and it applies without a problem to 0.6.5. It compiles, however I was trying to build gnucash on OSX with aqua support, I can get that to compile correctly now (this was the last non-compiling dep) but it doesn't run correctly. By the looks of the gnucash error it doesn't seem to be a goffice problem though.