[webkit-reviews] review requested: [Bug 94488] --disable-dependency-tracking causes build failure due to missing directories : [Attachment 193474] Patch making --disable-dependency-tracking work

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Mar 17 16:21:36 PDT 2013


Tobias Mueller <tobiasmue at gnome.org> has asked	for review:
Bug 94488: --disable-dependency-tracking causes build failure due to missing
directories
https://bugs.webkit.org/show_bug.cgi?id=94488

Attachment 193474: Patch making --disable-dependency-tracking work
https://bugs.webkit.org/attachment.cgi?id=193474&action=review

------- Additional Comments from Tobias Mueller <tobiasmue at gnome.org>
Aye. Same here.

Some more people suffering from this:
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010590.html

https://bugs.gentoo.org/show_bug.cgi?id=406117

For completeness:
$ ./autogen.sh --disable-dependency-tracking
...
WebKit was configured with the following options:

Build configuration:
 Enable debugging (slow)				  : no
 Compile with debug symbols (slow)			  : no
 Enable GCC build optimization				  : yes
 Code coverage support					  : no
 Optimized memory allocator				  : yes
 Accelerated rendering backend				  : opengl(gl, egl,
glx)

Features:
=======
 WebKit1 support					  : yes
 WebKit2 support					  : yes
 Accelerated Compositing				  : yes
 Gamepad support					  : no
 Geolocation support					  : no
 HTML5 video element support				  : no
 JIT compilation					  : autodetect
 Opcode stats						  : no
 SVG fonts support					  : yes
 SVG support						  : yes
 Spellcheck support					  : no
 Web Audio support					  : no
 WebGL							  : yes
 XSLT support						  : yes


GTK+ configuration:
 GTK+ version						  : 3.0
 GDK target						  : x11
 Introspection support					  : no
 Generate documentation 				  : no

$ time make -j 40
  GEN	 DerivedSources/WebCore/InternalSettingsGenerated.idl
  GEN	 DerivedSources/webkitdom/WebKitDOMEventTarget.h
  GEN	 DerivedSources/webkitdom/WebKitDOMEventTargetPrivate.h
  GEN	 DerivedSources/webkitdom/webkitdomdefines.h
/bin/sh: DerivedSources/webkitdom/webkitdomdefines.h: No such file or directory

  GEN	 DerivedSources/webkitdom/WebKitDOMObject.h
  GEN	 DerivedSources/webkitdom/WebKitDOMCustom.h
  GEN	 DerivedSources/webkitdom/webkitdom.h
/bin/sh: DerivedSources/webkitdom/webkitdom.h: No such file or directory
cp: cannot create regular file
`DerivedSources/webkitdom/WebKitDOMEventTargetPrivate.h': No such file or
directory
make: *** [DerivedSources/webkitdom/webkitdom.h] Error 1
make: *** Waiting for unfinished jobs....
make: *** [DerivedSources/webkitdom/webkitdomdefines.h] Error 1
make: *** [DerivedSources/webkitdom/WebKitDOMEventTargetPrivate.h] Error 1
cp: cannot create regular file
`DerivedSources/webkitdom/WebKitDOMEventTarget.h': No such file or directory
make: *** [DerivedSources/webkitdom/WebKitDOMEventTarget.h] Error 1
cp: cannot create regular file `DerivedSources/webkitdom/WebKitDOMObject.h': No
such file or directory
make: *** [DerivedSources/webkitdom/WebKitDOMObject.h] Error 1
cp: cannot create regular file `DerivedSources/webkitdom/WebKitDOMCustom.h': No
such file or directory
make: *** [DerivedSources/webkitdom/WebKitDOMCustom.h] Error 1
$ make V=1 -j1 DerivedSources/InjectedBundle/JSAccessibilityController.cpp
/usr/bin/perl \
	-I ./Source/WebCore/bindings/scripts \
	-I ./Tools/WebKitTestRunner/InjectedBundle/Bindings \
	./Source/WebCore/bindings/scripts/generate-bindings.pl \
	--defines \"\" --generator TestRunner \
	--include ./Tools/InjectedBundle/Bindings \
	--outputDir ./DerivedSources/InjectedBundle \
       
Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl
Failed to open JSAccessibilityController.h for writing: No such file or
directory at
Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm line
53.
make: *** [DerivedSources/InjectedBundle/JSAccessibilityController.cpp] Error 2

$ 

If we create the directory before trying to put the file file there, it works:
$ git diff Tools/WebKitTestRunner/GNUmakefile.am
diff --git a/Tools/WebKitTestRunner/GNUmakefile.am
b/Tools/WebKitTestRunner/GNUmakefile.am
index 1812569..c97743f 100644
--- a/Tools/WebKitTestRunner/GNUmakefile.am
+++ b/Tools/WebKitTestRunner/GNUmakefile.am
@@ -156,6 +156,7 @@ code_generation_dependencies = \
	Source/WebCore/bindings/scripts/generate-bindings.pl
 
 DerivedSources/InjectedBundle/JS%.cpp:
Tools/WebKitTestRunner/InjectedBundle/Bindings/%.idl
$(code_generation_dependencies)
+	mkdir -p $(@D)
	$(AM_V_GEN)$(PERL) \
		-I $(srcdir)/Source/WebCore/bindings/scripts \
		-I $(srcdir)/Tools/WebKitTestRunner/InjectedBundle/Bindings \
$ make --debug V=1 -j1
DerivedSources/InjectedBundle/JSAccessibilityController.cpp
GNU Make 3.82
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010  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 `DerivedSources/InjectedBundle/JSAccessibilityController.cpp' does not
exist.
Must remake target
`DerivedSources/InjectedBundle/JSAccessibilityController.cpp'.
Invoking recipe from GNUmakefile:89360 to update target
`DerivedSources/InjectedBundle/JSAccessibilityController.cpp'.
mkdir -p DerivedSources/InjectedBundle
/usr/bin/perl \
	-I ./Source/WebCore/bindings/scripts \
	-I ./Tools/WebKitTestRunner/InjectedBundle/Bindings \
	./Source/WebCore/bindings/scripts/generate-bindings.pl \
	--defines \"\" --generator TestRunner \
	--include ./Tools/InjectedBundle/Bindings \
	--outputDir ./DerivedSources/InjectedBundle \
       
Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl
Successfully remade target file
`DerivedSources/InjectedBundle/JSAccessibilityController.cpp'.


I chased down every error I got and subsequently put mkdirs in the
Makefile.ams. Now I don't get any error anymore, but if the order of the made
targets changes for whatever reason, it may break again. Then, more mkdirs need
to be added.


More information about the webkit-reviews mailing list