GNOME Bugzilla – Bug 751624
Build regression in master
Last modified: 2015-06-29 04:58:23 UTC
http://build.gnome.org/continuous/buildmaster/builds/2015/06/29/0/build/log-libgames-support.txt Making all in tests make[1]: Entering directory '/ostbuild/source/libgames-support/_build/tests' rm -f ../../tests/test_scores_vala.stamp && echo stamp > ../../tests/test_scores_vala.stamp-t git.mk: Generating ../../tests/.gitignore CDPATH="${ZSH_VERSION+.}:" && cd ../../tests && /usr/bin/valac --pkg gee-0.8 --pkg glib-2.0 --pkg gio-2.0 --pkg gtk+-3.0 -C ../../games/libgames-support-1.0.vapi test-scores.vala error: ../../games/libgames-support-1.0.vapi not found Compilation failed: 1 error(s), 0 warning(s) Makefile:646: recipe for target '../../tests/test_scores_vala.stamp' failed make[1]: *** [../../tests/test_scores_vala.stamp] Error 1 make[1]: Leaving directory '/ostbuild/source/libgames-support/_build/tests' Makefile:465: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 ob: pid 2624 exited with code 2
Please revert https://git.gnome.org/browse/gnome-continuous/commit/?id=72f5dd396b369dc24eaf1ae812fbbaba4fe1ce67 when this is fixed.
I can't reproduce, but I guess I broke srcdir != builddir from git (is that what Continuous is doing?) when trying to fix srcdir != builddir from a tarball (the case where I was getting this error earlier today, before pushing that commit). The problem is that test_scores_SOURCES contains this: $(top_srcdir)/games/libgames-support-$(LIBGAMES_SUPPORT_API_VERSION).vapi But the file has been unexpectedly generated at $(top_builddir)/games/libgames-support-$(LIBGAMES_SUPPORT_API_VERSION).vapi. But $(top_builddir) cannot be used as that would break tarball builds, where the vapi is present only under $(top_srcdir) because it was distributed with the tarball. But it also feels wrong to force the files to be generated under $(srcdir). Ugh. Maybe I could copy the files from $(srcdir) into $(builddir) iff they exist. This feels like a problem every Vala library must have to deal with; I wonder what folks does....
Ok, yeah, vala+automake is incompatible with srcdir != builddir from git (which yes, Continuous does by default). See https://git.gnome.org/browse/dconf/commit/?id=3bd2e9c8c37468eec6067a40ef2e66ef7372ac43 for a workaround.
:( The following fix has been pushed: a5b0d1c Add workaround to fix Continuous
Created attachment 306260 [details] [review] Add workaround to fix Continuous srcdir != builddir works only for tarball builds, not for the git builds that Continuous is doing. The problem is that the generated vapi and header file are expected to be in srcdir (where they would be for a tarball build) rather than builddir (where they end up during a git build). This is hard to fix.
Let's see if this fixes it....