GNOME Bugzilla – Bug 739260
srcdir != builddir issue with latest git
Last modified: 2014-10-28 09:16:10 UTC
http://build.gnome.org/continuous/buildmaster/builds/2014/10/27/36/build/log-tracker.txt CREATED org.freedesktop.Tracker.DB.gschema.xml /usr/bin/xsltproc \ --stringparam version "1.2.0" \ --stringparam current-date "`date +'%B %Y'`" \ --stringparam config-file "tracker-db.cfg" \ ../../docs/manpages/gsettings.xsl org.freedesktop.Tracker.DB.gschema.xml > tracker-db.cfg.5 mv -f .deps/tracker-crc32.Tpo .deps/tracker-crc32.Plo mv -f .deps/tracker-collation.Tpo .deps/tracker-collation.Plo tracker-data-query.c:34:34: fatal error: tracker-sparql-query.h: No such file or directory #include "tracker-sparql-query.h" ^ compilation terminated. Makefile:763: recipe for target 'tracker-data-query.lo' failed make[3]: *** [tracker-data-query.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f .deps/tracker-ontology.Tpo .deps/tracker-ontology.Plo mv -f .deps/tracker-db-interface.Tpo .deps/tracker-db-interface.Plo tracker-data-manager.c:49:34: fatal error: tracker-sparql-query.h: No such file or directory #include "tracker-sparql-query.h" ^ compilation terminated. mv -f .deps/tracker-namespace.Tpo .deps/tracker-namespace.Plo Makefile:763: recipe for target 'tracker-data-manager.lo' failed make[3]: *** [tracker-data-manager.lo] Error 1 tracker-data-update.c:40:34: fatal error: tracker-sparql-query.h: No such file or directory #include "tracker-sparql-query.h" ^ compilation terminated. Makefile:763: recipe for target 'tracker-data-update.lo' failed make[3]: *** [tracker-data-update.lo] Error 1
Please revert: https://git.gnome.org/browse/gnome-continuous/commit/manifest.json?id=1aadf241ac4d5373bb9ae639e7d6fa6a122ad4f1 when this is addressed.
I have no idea how to fix this. Spent a solid hour on it tonight. The problem seems to be a race condition. The tracker-sparql-query.h file is generated by Vala but the .vala files can't be compiled on their own, they depend on other .c/.h files in libtracker-data. This is really a race condition it seems. If you run 'make' a second time everything compiles. What we really need is for Vala to build the header file before the .c files (that are not generated) are compiled. I couldn't see a way with valac to do this. Any hints Jürg?
Does: BUILT_SOURCES += tracker-sparql-query.h help?
(In reply to comment #3) > Does: > > BUILT_SOURCES += tracker-sparql-query.h > > help? Nope. The problem is not the dependency, the problem is that the header is not built until AFTER all vala sources are compiled. Those sources depend on other .c/.h files in the same dirs which depend on the above header. A circular dep. I wonder how this ever worked before.
commit 30380e11dcfce42fb35942036f246023cfbbbda1 Author: Martyn Russell <martyn@lanedo.com> Date: Tue Oct 28 09:13:41 2014 +0000 libtracker-data: Don't fail to build with "all" target override The "all" target was used because the MAN page generation was not working previously, but it seems it does. So this line has been removed! https://bugzilla.gnome.org/show_bug.cgi?id=739260