Debian Bug report logs - #480722
buildd.emdebian.org: gtk+2.0 fails to update, udeb fails to cross build

Package: buildd.emdebian.org; Maintainer for buildd.emdebian.org is Debian Embedded Team <debian-embedded@lists.debian.org>;

Reported by: Neil Williams <codehelp@debian.org>

Date: Sun, 11 May 2008 18:24:01 UTC

Severity: normal

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, <debian-devel@lists.debian.org>:
Bug#480722; Package general. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
New Bug report received and forwarded. Copy sent to <debian-devel@lists.debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: buildd.emdebian.org: gtk+2.0 fails to update, udeb fails to cross build
Date: Sun, 11 May 2008 19:21:12 +0100
Package: general
Severity: normal
User: codehelp@debian.org

In preparation for a pseudo-package, buildd.emdebian.org, I'm filing
status bugs about packages that fail to crossbuild successfully, despite
building successfully in the past. i.e. where an existing package in
Emdebian cannot be updated because the new version fails in a new and
different way.
:-(

This problem appears to be restricted to the gtk+2.0 udeb.

$ emsource --status gtk+2.0
Checking the apt-cross cache is up to date for arm.
W: Unable to locate package libgtk-directfb-2.0-0-udeb
Checking status of gtk+2.0 in /opt/emdebian/trunk/g/gtk+2.0/trunk/
28 emdebian patch files
0 debian patch files

Checking emdebuild status in /opt/emdebian/trunk/g/gtk+2.0/trunk/
build log:
	gtk+2.0 (2.12.9) FAILED to cross build for arm.
/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0_2.12.9-3em1_arm.build

In file included from
/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/gdk/directfb/gdkdrawable-directfb.c:49:
/usr/lib/libcairo-directfb/include/cairo/cairo-directfb.h:54:3: error:
#error Cairo was not compiled with support for the directfb backend
/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/gdk/directfb/gdkdrawable-directfb.c:
In function ‘gdk_directfb_ref_cairo_surface’:
/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/gdk/directfb/gdkdrawable-directfb.c:1044:
warning: implicit declaration of function
‘cairo_directfb_surface_create’
/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/gdk/directfb/gdkdrawable-directfb.c:1044:
warning: assignment makes pointer from integer without a cast
make[5]: *** [gdkdrawable-directfb.lo] Error 1
make[5]: Leaving directory
`/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/debian/build/directfb/gdk/directfb'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
`/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/debian/build/directfb/gdk'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/debian/build/directfb/gdk'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/debian/build/directfb'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.9/debian/build/directfb'
make: *** [debian/stampdir/build-stamp-directfb] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2



-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.22-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash




Blocking bugs of 480722 added: 483076 Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Mon, 26 May 2008 21:25:23 GMT) Full text and rfc822 format available.

Information stored:
Bug#480722; Package general. Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and filed, but not forwarded. Full text and rfc822 format available.

Message #12 received at 480722-quiet@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 480722-quiet@bugs.debian.org
Subject: Still not building
Date: Sun, 27 Jul 2008 17:25:23 +0100
[Message part 1 (text/plain, inline)]
make[2]: Entering directory `/opt/emdebian/trunk/g/gtk+2.0/trunk/gtk+2.0-2.12.11/debian/build/directfb/gtk'
/bin/sh ../libtool --mode=link arm-linux-gnu-gcc  -g -O2 -Wall -g -O2  -L/usr/arm-linux-gnu/lib -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  -L/usr/arm-linux-gnu/lib ./.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

The problem is that the directfb build (and only the directfb build)
must be explicitly linked
against /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so but the
way the udeb build is configured, I can't see how to enable this:

/bin/sh ../libtool --mode=link arm-linux-gnu-gcc  -g -O2 -Wall -g -O2  -L/usr/arm-linux-gnu/lib -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 /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so 
arm-linux-gnu-gcc -g -O2 -Wall -g -O2 -o .libs/gtk-query-immodules-2.0 queryimmodules.o /usr/arm-linux-gnu/lib/libcairo-directfb/lib/libcairo.so  -L/usr/arm-linux-gnu/lib ./.libs/libgtk-directfb-2.0.so ../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.so ../gdk/.libs/libgdk-directfb-2.0.so 
creating gtk-query-immodules-2.0

*only* for the udeb build.

The only option is to disable the Gtk Udeb again.

The current chroot build logs are misleading - the failure at /bin/sh:
no: command not found has been fixed with an updated version of
emdebian-tools.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package `general' to `buildd.emdebian.org'. Request was from Neil Williams <codehelp@debian.org> to control@bugs.debian.org. (Wed, 03 Sep 2008 06:30:12 GMT) Full text and rfc822 format available.

Blocking bugs of 480722 added: 499662 Request was from "Neil Williams" <neil@codehelp.co.uk> to control@bugs.debian.org. (Tue, 23 Sep 2008 13:18:02 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Embedded Team <debian-embedded@lists.debian.org>:
Bug#480722; Package buildd.emdebian.org. (Tue, 30 Sep 2008 20:42:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <codehelp@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Team <debian-embedded@lists.debian.org>. (Tue, 30 Sep 2008 20:42:04 GMT) Full text and rfc822 format available.

Message #21 received at 480722@bugs.debian.org (full text, mbox):

From: Neil Williams <codehelp@debian.org>
To: 480722@bugs.debian.org
Cc: 499662@bugs.debian.org
Subject: OK, we have a problem here
Date: Tue, 30 Sep 2008 21:39:13 +0100
[Message part 1 (text/plain, inline)]
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/

[Message part 2 (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Apr 19 19:45:34 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.