If you build either of the new Mozilla products (firefox-2.0.x, seamonkey-1.1.x) out of the box or thunderbird-2.0.x with --enable-canvas, there are linking failures in libgklayout.so with undefined references to some X library functions. The fix in Seamonkey right now is this:
sed -i -e '/MOZ_JS_LIBS/a\ \t\t$(MOZ_XFT_LIBS) \\' layout/build/Makefile.in After looking into this a bit, I'd like to propose a change because I think this is a little suboptimal. What I'd rather see is this: cat >> layout/build/Makefile.in << "EOF" ifdef MOZ_ENABLE_CANVAS EXTRA_DSO_LDOPTS += -lX11 -lXrender endif EOF The reason for the linking failures is because the canvas functionality is making use of cairo-xlib-xrender. Canvas support is now on by default for firefox and seamonkey. If the in-tree cairo is being used, configure manually adds -lXrender -lX11 to the MOZ_CAIRO_LIBS. But if you're using --enable-system-cairo, it simply uses the pkg-config check for cairo. This doesn't include the specific backend it needs in the canvas. It should also check for cairo-xlib-xrender on the condition that the canvas is being used. Here's the upstream bug which hasn't been resolved: https://bugzilla.mozilla.org/attachment.cgi?id=242438 I can confirm that building firefox with --disable-canvas requires no changes to the build. So, I have two problems with what's in the book right now. First, it's adding libraries for linking under all conditions. Second, by using $(MOZ_XFT_LIBS), libXft, libfreetype, libfontconfig, and libz are being pulled in. I'm certain that the only necessary libraries are libX11 and libXrender judging by the undefined reference errors: XFreePixmap, XRenderFindStandardFormat, XListPixmapFormats and XFree. What do you guys think? -- Dan -- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
