GNOME Bugzilla – Bug 623520
gtk+ 3 fails to build from outside git source tree
Last modified: 2010-07-10 04:20:47 UTC
Similar to Bug 617867 for gtk+/gdk-pixbuf 2.21.x, gtk+ 3 fails to build from outside source tree with the following error: ---8<--- Making all in . make[4]: Entering directory `/home/thep/build/gnome_git/gtk+-3/gdk' make[4]: *** No rule to make target `/home/thep/vcs/gnome_git/gtk+-3/gdk/gdkenumtypes.c', needed by `Gdk-3.0.gir'. Stop. make[4]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gdk' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gdk' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gdk' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/thep/build/gnome_git/gtk+-3' make: *** [all] Error 2 ---8<--- And, after fixing this one, as will be described in a patch, another error is found under gtk/ subdir: ---8<--- make[4]: *** No rule to make target `/home/thep/vcs/gnome_git/gtk+-3/gtk/gtktypebuiltins.h', needed by `Gtk-3.0.gir'. Stop. make[4]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gtk' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gtk' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/thep/build/gnome_git/gtk+-3/gtk' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/thep/build/gnome_git/gtk+-3' make: *** [all] Error 2 ---8<---
Created attachment 165218 [details] [review] Split the built sources from manual This patch splits the built sources from manual sources, and only adds srcdir prefix to the manual ones. Note that it also fixes another build error caused by an attempt to link against system-installed libgdk-x11-3.0.so instead of the locally built one in $(top_builddir)/gdk/ (see also Bug 620868), so it can be tested.
The split into srcdir and builddir sources shouldn't be necessary anymore now that bug 616425 is fixed.
(In reply to comment #2) > The split into srcdir and builddir sources shouldn't be necessary anymore now > that bug 616425 is fixed. That's weird. The bug has been fixed for a month but I still saw this bug today.
Created attachment 165222 [details] [review] Remove the $(srcdir) suffix addition I see. The bug is still there because of the $(addprefix ...) clauses. Remove them and $^ can work via VPATH.
Thanks for committing the fix. Note, however, that the g-i dependency bump to 0.9.0 is not necessary. The new make rule is available since 0.6.14, which already met what required in previous configure.in.