Bug#800610: glib commit 5ce70917 broke cross compilation

Helmut Grohne helmut at subdivi.de
Thu Oct 1 16:30:44 UTC 2015


Source: glib2.0
Version: 2.46.0-2
User: helmutg at debian.org
Usertags: rebootstrap
Tags: patch

Hi,

While trying to cross build glib (the Debian package) I observed the
following failure (for any pair of architectures I tried):

https://jenkins.debian.net/job/rebootstrap_sparc_gcc5/47/console
| (echo '[Test]' > autoptr.test.tmp; \
| echo 'Type=session' >> autoptr.test.tmp; \
| echo 'Exec=/usr/lib/glib2.0/installed-tests/glib/autoptr --tap' >> autoptr.test.tmp; \
| echo 'Output=TAP' >> autoptr.test.tmp; \
| mv autoptr.test.tmp autoptr.test)
| make[7]: *** No rule to make target 'test.gresource', needed by 'all-am'.  Stop.
| make[7]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb/gio/tests'
| Makefile:3510: recipe for target 'all-recursive' failed
| make[6]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb/gio/tests'
| make[6]: *** [all-recursive] Error 1
| Makefile:2419: recipe for target 'all' failed
| make[5]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb/gio/tests'
| make[5]: *** [all] Error 2
| Makefile:4099: recipe for target 'all-recursive' failed
| make[4]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb/gio'
| make[4]: *** [all-recursive] Error 1
| Makefile:1866: recipe for target 'all' failed
| make[3]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb/gio'
| make[3]: *** [all] Error 2
| Makefile:1213: recipe for target 'all-recursive' failed
| make[2]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb'
| make[2]: *** [all-recursive] Error 1
| Makefile:855: recipe for target 'all' failed
| make[1]: Leaving directory '/tmp/buildd/glib2.0/glib2.0-2.46.0/debian/build/deb'
| make[1]: *** [all] Error 2
| /usr/share/cdbs/1/class/makefile.mk:47: recipe for target 'debian/stamp-makefile-build/deb' failed
| make: *** [debian/stamp-makefile-build/deb] Error 2
| dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

The last known working version is 2.44.1-1.1. Looking at the commits in
between, I identified 5ce70917df75f87c89a9b1e9d0583ae4135f0b2c as very
likely being the cause. It appears to improperly remove test.gresource
from the build. The rules are removed for cross compilation, but the
dependency (via "test_data = test.gresource") is still there.

It seems to me that there are two possible ways to move forward.
 a) Revert the breaking commit.
 b) Remove test.gresource from test_data for cross compilation.

If the latter was the intention, the following patch can be used.

--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
@@ -71,9 +71,12 @@
 	$(NULL)

 test_data = \
-	test.gresource				\
 	$(NULL)

+if !CROSS_COMPILING
+test_data += test.gresource
+endif
+
 uninstalled_test_extra_programs = \
 	gio-du					\
 
Helmut



More information about the pkg-gnome-maintainers mailing list