The patch from 499662 is not a complete fix for the directfb support within the cross-build. The package still fails to cross-build if the udeb is enabled because of unresolved symbols related to directfb. /bin/sh ../libtool --mode=link arm-linux-gnu-gcc -g -O2 -Wall -g -O2 -o gtk-query-immodules-2.0 queryimmodules.o libgtk-directfb-2.0.la ../gdk-pixbuf/libgdk_pixbuf-2.0.la ../gdk/libgdk-directfb-2.0.la arm-linux-gnu-gcc -g -O2 -Wall -g -O2 -o .libs/gtk-query-immodules-2.0 queryimmodules.o ./.libs/libgtk-directfb-2.0.so ../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.so ../gdk/.libs/libgdk-directfb-2.0.so ../gdk/.libs/libgdk-directfb-2.0.so: undefined reference to `cairo_directfb_surface_create' collect2: ld returned 1 exit status make[5]: *** [gtk-query-immodules-2.0] Error 1 make[5]: Leaving directory `/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.11/debian/build/directfb/gtk' make[4]: *** [all-recursive] Error 1 Undefined references arise because the cross-build does not find: /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so.2.17.5 Instead, it appears to only find: /usr/arm-linux-gnu/lib/libcairo.so.2.17.5 neil@dwarf:gtk$ grep cairo_directfb_surface_create /usr/arm-linux-gnu/lib/libcairo.so.2.17.5 neil@dwarf:gtk$ grep cairo_directfb_surface_create /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so.2.17.5 Binary file /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so.2.17.5 matches What I think we need here is a separate library in /usr/lib/ and therefore /usr/arm-linux-gnu/lib/ - or else cairo should include the directfb symbols in all builds. i.e. either: /usr/lib/libcairo-directfb.so.2.17.5 or /usr/lib/libcairo.so.2.17.5 containing the directfb symbols Either way, IMHO we should drop the anachronistic: /usr/lib/libcairo-directfb/lib/libcairo.so.2.17.5 See also: #499292 and #483076 - this situation has caused a history of workarounds, some of which have had other unintended consequences and which should really be reverted. I realise that these possible solutions cannot now be done in Lenny but I'd hope it could be possible for Squeeze. One experiment I think I'll try is a modified chroot build where libcairo2-arm-cross is not installed and libcairo-directfb2-arm-cross installed as /usr/lib/libcairo-direct.so.2.17.5 and similarly for the cross-dependencies. Emdebian cross-builds will continue to remove the directfb flavour and corresponding udeb for Emdebian Crush. Some kind of package rename might be necessary so that Emdebian Grip can use a natively built Gtk with the "nodocs" DEB_BUILD_OPTION and appropriate TDeb support. It depends whether directfb support in Gtk is actually a relevant change in functionality compared to Debian where such support is not mainstream. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgpLJx7R1WGNZ.pgp
Description: PGP signature