GNOME Bugzilla – Bug 778829
[PATCH] Out-of-tree builds fail on xml files generation.
Last modified: 2017-05-01 09:32:08 UTC
Created attachment 346069 [details] [review] patch Building git master out of tree fails over a too strict stemming rule in data/xml/Makefile.am (see patch). This is because some *.xml.in.in files are configured once through configure.ac, and hence end up in the build folder. But the current stemming rule only looks for *.xml.in files in the *source* folder. Removing this restriction works for me. Example run without patch follows: make[3]: Entering directory '/home/matteo/.cache/gnome-builder/builds/Rygel/local/x86_64-linux-gnu/data/xml' cd /home/matteo/Progetti/rygel && /bin/bash /home/matteo/Progetti/rygel/build-aux/missing automake-1.15 --gnu data/xml/Makefile cd ../.. && /bin/bash ./config.status data/xml/Makefile config.status: creating data/xml/Makefile make[3]: *** No rule to make target 'MediaServer3.xml', needed by 'all-am'. Stop. make[3]: Leaving directory '/home/matteo/.cache/gnome-builder/builds/Rygel/local/x86_64-linux-gnu/data/xml' Makefile:775: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/matteo/.cache/gnome-builder/builds/Rygel/local/x86_64-linux-gnu/data' Makefile:596: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/matteo/.cache/gnome-builder/builds/Rygel/local/x86_64-linux-gnu' Makefile:497: recipe for target 'all' failed make: *** [all] Error 2 ---------------------- matteo@settenvini:~/.cache/gnome-builder/builds/Rygel/local/x86_64-linux-gnu/data/xml$ make --debug=i GNU Make 4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Updating goal targets.... File 'all' does not exist. File 'all-am' does not exist. Looking for an implicit rule for 'EnergyManagement.xml'. Trying pattern rule with stem 'EnergyManagement'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/EnergyManagement.xml.in'. Found an implicit rule for 'EnergyManagement.xml'. Looking for an implicit rule for '/home/matteo/Progetti/rygel/data/xml/EnergyManagement.xml.in'. Trying pattern rule with stem 'EnergyManagement.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/EnergyManagement.xml.in,v'. Trying pattern rule with stem 'EnergyManagement.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/RCS/EnergyManagement.xml.in,v'. Trying pattern rule with stem 'EnergyManagement.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/RCS/EnergyManagement.xml.in'. Trying pattern rule with stem 'EnergyManagement.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/s.EnergyManagement.xml.in'. Trying pattern rule with stem 'EnergyManagement.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/SCCS/s.EnergyManagement.xml.in'. No implicit rule found for '/home/matteo/Progetti/rygel/data/xml/EnergyManagement.xml.in'. File 'MediaServer3.xml' does not exist. Looking for an implicit rule for 'MediaServer3.xml'. Trying pattern rule with stem 'MediaServer3'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/MediaServer3.xml.in'. Trying pattern rule with stem 'MediaServer3.xml'. Trying implicit prerequisite 'MediaServer3.xml,v'. Trying pattern rule with stem 'MediaServer3.xml'. Trying implicit prerequisite 'RCS/MediaServer3.xml,v'. Trying pattern rule with stem 'MediaServer3.xml'. Trying implicit prerequisite 'RCS/MediaServer3.xml'. Trying pattern rule with stem 'MediaServer3.xml'. Trying implicit prerequisite 's.MediaServer3.xml'. Trying pattern rule with stem 'MediaServer3.xml'. Trying implicit prerequisite 'SCCS/s.MediaServer3.xml'. Trying pattern rule with stem 'MediaServer3'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/MediaServer3.xml.in'. Looking for a rule with intermediate file '/home/matteo/Progetti/rygel/data/xml/MediaServer3.xml.in'. Avoiding implicit rule recursion. Trying pattern rule with stem 'MediaServer3.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/MediaServer3.xml.in,v'. Trying pattern rule with stem 'MediaServer3.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/RCS/MediaServer3.xml.in,v'. Trying pattern rule with stem 'MediaServer3.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/RCS/MediaServer3.xml.in'. Trying pattern rule with stem 'MediaServer3.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/s.MediaServer3.xml.in'. Trying pattern rule with stem 'MediaServer3.xml.in'. Trying implicit prerequisite '/home/matteo/Progetti/rygel/data/xml/SCCS/s.MediaServer3.xml.in'. No implicit rule found for 'MediaServer3.xml'. Must remake target 'MediaServer3.xml'. make: *** No rule to make target 'MediaServer3.xml', needed by 'all-am'. Stop.
Created attachment 348878 [details] [review] More out-of-tree issues