GNOME Bugzilla – Bug 618157
gconf fails to build outside source tree
Last modified: 2018-08-17 13:56:33 UTC
By setting 'buildroot' in .jhbuildrc so that jhbuild builds stuffs from outside git source trees, gconf fails to build, with the following messages: ---8<--- make[3]: *** No rule to make target `/home/thep/vcs/gnome_git/gconf/gconf/GConfX-common.c', needed by `GConf-2.0.gir'. Stop. make[3]: Leaving directory `/home/thep/build/gnome_git/gconf/gconf' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/thep/build/gnome_git/gconf/gconf' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/thep/build/gnome_git/gconf' make: *** [all] Error 2 ---8<--- It's this line that caused the problem: > GConf_2_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_files)) $(introspection_files) includes all .c files in $(libgconf_2_la_SOURCES), including $(CORBA_SOURCECODE), which are all generated in $(builddir). So, adding $(srcdir) prefix to all files here is just wrong.
Created attachment 160632 [details] [review] Split generated files from the list This patch separates generated files from source list, and only add $(srcdir) prefix to non-generated files in introspection generation rule.
Created attachment 165553 [details] [review] Use g-i > 0.6.14 According to bug 616425, Makefile.introspection now references introspection sources via VPATH. Generated and manual sources can now be equally accessed. Just remove the $(srcdir) prefix.
GConf has been deprecated since 2011. GConf is not under active development anymore. Its codebase has been archived: https://gitlab.gnome.org/Archive/gconf/commits/master dconf and gsettings are its successors. See https://developer.gnome.org/gio/stable/ch34.html and https://developer.gnome.org/GSettings/ for porting info. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Feel free to open a task in GNOME Gitlab if the issue described in this task still applies to a recent + supported version of dconf/gsettings. Thanks!