After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739260 - srcdir != builddir issue with latest git
srcdir != builddir issue with latest git
Status: RESOLVED FIXED
Product: tracker
Classification: Core
Component: General
unspecified
Other Linux
: High blocker
: ---
Assigned To: tracker-general
Depends on:
Blocks:
 
 
Reported: 2014-10-27 19:32 UTC by Colin Walters
Modified: 2014-10-28 09:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Colin Walters 2014-10-27 19:32:46 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
Comment 1 Colin Walters 2014-10-27 19:51:24 UTC
Please revert:

https://git.gnome.org/browse/gnome-continuous/commit/manifest.json?id=1aadf241ac4d5373bb9ae639e7d6fa6a122ad4f1

when this is addressed.
Comment 2 Martyn Russell 2014-10-27 20:27:01 UTC
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?
Comment 3 Colin Walters 2014-10-27 20:40:40 UTC
Does:

BUILT_SOURCES += tracker-sparql-query.h

help?
Comment 4 Martyn Russell 2014-10-28 08:41:36 UTC
(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.
Comment 5 Martyn Russell 2014-10-28 09:16:10 UTC
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