GNOME Bugzilla – Bug 626605
build failed with GTK3 master (after merge branch rendering-cleanup)
Last modified: 2010-09-27 17:50:56 UTC
building librsvg failed saying the following .... make[3]: Leaving directory `/d2/gnome-shell/source/librsvg/gtk-engine/examples' make[3]: Entering directory `/d2/gnome-shell/source/librsvg/gtk-engine' CC libsvg_la-svg-draw.lo CC libsvg_la-svg-main.lo CC libsvg_la-svg-render.lo CC libsvg_la-svg-rc-style.lo CCLD libsvg.la CC libsvg_3_la-svg-draw.lo CC libsvg_3_la-svg-main.lo CC libsvg_3_la-svg-render.lo svg-render.c: In function 'pixbuf_render': svg-render.c:430: warning: implicit declaration of function 'gdk_draw_pixbuf' svg-render.c:430: warning: nested extern declaration of 'gdk_draw_pixbuf' svg-render.c:434: error: 'GDK_RGB_DITHER_NORMAL' undeclared (first use in this function) svg-render.c:434: error: (Each undeclared identifier is reported only once svg-render.c:434: error: for each function it appears in.) svg-render.c: In function 'theme_pixbuf_render': svg-render.c:831: error: 'GdkGC' undeclared (first use in this function) svg-render.c:831: error: 'tmp_gc' undeclared (first use in this function) svg-render.c:832: error: 'GdkGCValues' undeclared (first use in this function) svg-render.c:832: error: expected ';' before 'gc_values' svg-render.c:838: warning: implicit declaration of function 'gdk_gc_new' svg-render.c:838: warning: nested extern declaration of 'gdk_gc_new' svg-render.c:843: error: 'GDK_RGB_DITHER_NORMAL' undeclared (first use in this function) svg-render.c:847: error: 'gc_values' undeclared (first use in this function) svg-render.c:847: error: 'GDK_TILED' undeclared (first use in this function) svg-render.c:849: warning: implicit declaration of function 'gdk_gc_new_with_values' svg-render.c:849: warning: nested extern declaration of 'gdk_gc_new_with_values' svg-render.c:850: error: 'GDK_GC_FILL' undeclared (first use in this function) svg-render.c:850: error: 'GDK_GC_TILE' undeclared (first use in this function) svg-render.c:852: warning: implicit declaration of function 'gdk_draw_rectangle' svg-render.c:852: warning: nested extern declaration of 'gdk_draw_rectangle' make[3]: *** [libsvg_3_la-svg-render.lo] Error 1 make[3]: Leaving directory `/d2/gnome-shell/source/librsvg/gtk-engine' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/d2/gnome-shell/source/librsvg/gtk-engine' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/d2/gnome-shell/source/librsvg' make: *** [all] Error 2 *** Error during phase build of librsvg: ########## Error running make *** [9/21]
Created attachment 167570 [details] [review] Change deprecated "gdk_draw_pixbuf" to "gdk_draw_drawable".
Created attachment 167642 [details] [review] Try and fix the problem Oh hey look was being an idiot and decided to read outdated docs, didn't test a patch before attaching, and didn't read errors, commit logs, mailing lists OR blogs to figure out what went awry! Also, I would test the patch, but the combination of mutter being broken, nVidia corruption issues and overall slowness made me go a little crazy.
Created attachment 167702 [details] [review] Apply Company's changes on the internal librsvg pixbuf engine to remove the gdk calls and move over to cairo.
Setting right importance.
*** Bug 626792 has been marked as a duplicate of this bug. ***
Review of attachment 167702 [details] [review]: While this patch will result in correct rendering, I don't think it's a good idea - the problem with it is that to draw a pixbuf in 9 slices, it converts the entire pixbuf to a cairo surface 9 times. Since this patch also affects gtk2 builds of librsvg, it's important to get it right. Company is working on a better fix for the pixbuf engine in a GTK+ branch that should be applicable here once finished.
After discussion with Benjamin on IRC, I simply dropped the gtk engine from librsvg's gtk 3 build.