Source: glib2.0 Version: 2.46.0-2 User: helm...@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