WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
52219
WebKit2 GTK Fails to Build #include nested too deeply
https://bugs.webkit.org/show_bug.cgi?id=52219
Summary
WebKit2 GTK Fails to Build #include nested too deeply
Andrew
Reported
2011-01-11 09:24:10 PST
Attempting to build WebKit2 on Linux for GTK results in a "#include nested too deeply error" Output is attached below: /bin/mkdir -p ./.deps/DerivedSources CXX Source/WebCore/platform/gtk/libwebkit2gtk_1_0_la-WidgetRenderingContext.lo CXX WebKit2/Platform/CoreIPC/libWebKit2_la-ArgumentDecoder.lo In file included from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./../../WebKit2/WebKit2Prefix.h:28, from <command-line>:0: ./DerivedSources/WebKit2/include/WebCore/config.h:1: error: #include nested too deeply make[1]: *** [WebKit2/Platform/CoreIPC/libWebKit2_la-ArgumentDecoder.lo] Error 1 make[1]: Leaving directory `/home/username/webkit002/WebKit/WebKitBuild/Debug' make: *** [all] Error 2 Failed to build WebKit using 'make'!
Attachments
Proposed patch
(4.44 KB, patch)
2011-01-27 11:04 PST
,
Alejandro G. Castro
no flags
Details
Formatted Diff
Diff
Proposed patch
(4.51 KB, patch)
2011-02-01 04:29 PST
,
Alejandro G. Castro
mrobinson
: review+
Details
Formatted Diff
Diff
Updated patch to latest Upstream 77239
(3.45 KB, patch)
2011-02-01 04:38 PST
,
Oleg Romashin (:romaxa)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Andrew
Comment 1
2011-01-13 08:12:47 PST
The "nested too deeply" error can be worked around by disabling the config.h file from being generated created properly in DerivedSources/WebKit2/include/WebCore/config.h by modifying code in WebKit2/Scripts/generate-forwarding-headers.pl Additional changes are needed in the WebKit2/WebKit2Prefix.h to add building support for gtk to allow the following environment variables to be set: #if defined(BUILDING_GTK__) #define WTF_USE_JSC 1 #define WTF_USE_V8 0 #define JS_EXPORTDATA #define JS_EXPORTCLASS #endif However, the next error that pops up may need some GTK specific coding of the DrawingContext system: CXX WebKit2/Shared/libWebKit2_la-SessionState.lo In file included from ../../WebKit2/UIProcess/WebPageProxy.h:31, from ../../WebKit2/UIProcess/WebBackForwardList.h:32, from ../../WebKit2/Shared/SessionState.h:29, from ../../WebKit2/Shared/SessionState.cpp:26: ../../WebKit2/UIProcess/DrawingAreaProxy.h:65: error: ‘PlatformDrawingContext’ has not been declared make[1]: *** [WebKit2/Shared/libWebKit2_la-SessionState.lo] Error 1
Koan-Sin Tan
Comment 2
2011-01-13 16:39:51 PST
(In reply to
comment #1
)
> The "nested too deeply" error can be worked around by disabling the config.h file from being generated created properly in DerivedSources/WebKit2/include/WebCore/config.h by modifying code in WebKit2/Scripts/generate-forwarding-headers.pl >
disabling config.h sounds weird. DerivedSources/WebKit2/include/WebCore/config.h meant to include Source/WebCore/config.h, I think.
> However, the next error that pops up may need some GTK specific coding of the DrawingContext system: > > CXX WebKit2/Shared/libWebKit2_la-SessionState.lo > In file included from ../../WebKit2/UIProcess/WebPageProxy.h:31, > from ../../WebKit2/UIProcess/WebBackForwardList.h:32, > from ../../WebKit2/Shared/SessionState.h:29, > from ../../WebKit2/Shared/SessionState.cpp:26: > ../../WebKit2/UIProcess/DrawingAreaProxy.h:65: error: ‘PlatformDrawingContext’ has not been declared > make[1]: *** [WebKit2/Shared/libWebKit2_la-SessionState.lo] Error 1
because there is no Gtk specific PlatformDrawingContext implemented yet?
Alejandro G. Castro
Comment 3
2011-01-27 11:04:02 PST
Created
attachment 80349
[details]
Proposed patch This works for me, and fixes other issues I found in the autotools when compiling all the patches. This way we do the things more like the other ports. Anyway, the forwarding headers script is creating files that are not required and probably we will have to check that in the future. I hope this helps. I hope it helps, I'll try to help pushing the other patches to have a running browser with webkit2.
Alejandro G. Castro
Comment 4
2011-01-27 11:08:00 PST
Comment on
attachment 80349
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=80349&action=review
> Source/WebKit2/WebKit2Prefix.h:53 > -#if defined(BUILDING_QT__) > +#if defined(BUILDING_QT__) || defined(BUILDING_GTK__)
This is not part of the patch, it is a compilation fix, I'll upload this fix before this patch. Sorry.
Alejandro G. Castro
Comment 5
2011-01-27 11:10:23 PST
(In reply to
comment #4
)
> (From update of
attachment 80349
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=80349&action=review
> > > Source/WebKit2/WebKit2Prefix.h:53 > > -#if defined(BUILDING_QT__) > > +#if defined(BUILDING_QT__) || defined(BUILDING_GTK__) > > This is not part of the patch, it is a compilation fix, I'll upload this fix before this patch. Sorry.
Oops, this is actually correct :), the compilation nitpick did not get mixed with the patch, sorry for the noise.
Martin Robinson
Comment 6
2011-01-27 13:36:43 PST
Comment on
attachment 80349
[details]
Proposed patch View in context:
https://bugs.webkit.org/attachment.cgi?id=80349&action=review
Looks good with the removal of the no-longer-valid comment in configure.ac.
> configure.ac:-929 > # In WebKit, this define is ensured by doing it before including config.h in any source file. > # In WebKit2, WebKit2Prefix.h is included as first header file, so we need to define this > # macro before actually WebKit2Prefix.h is included in any file. > - AC_DEFINE([__STDC_FORMAT_MACROS],[1],[Turn on the __STDC_FORMAT_MACROS used in inttypes.h])
We probably need to remove the comment here as well.
Alejandro G. Castro
Comment 7
2011-02-01 01:51:24 PST
Comment on
attachment 80349
[details]
Proposed patch After the last changes to use the config.h in webkit2 this patch makes no sense anymore I'll update it if we still have this issue.
Oleg Romashin (:romaxa)
Comment 8
2011-02-01 04:01:47 PST
testing on 77239, and still see this problem
Alejandro G. Castro
Comment 9
2011-02-01 04:29:03 PST
Created
attachment 80737
[details]
Proposed patch New patch with the new config.h solution used now in WebKit2 compilation. I'm going to review all the other patches considering this new config.h solution and fix some of the other issues I found to allow us to compile and run the WebKit2GTK minibrowser.
Oleg Romashin (:romaxa)
Comment 10
2011-02-01 04:38:54 PST
Created
attachment 80739
[details]
Updated patch to latest Upstream 77239 Fixed patch apply to latest upstream
Oleg Romashin (:romaxa)
Comment 11
2011-02-01 06:34:45 PST
Comment on
attachment 80739
[details]
Updated patch to latest Upstream 77239 Missing configure part, and haven't noticed previous attached patch
marinalan
Comment 12
2011-02-06 00:30:34 PST
I too, have after several hours of compilation: CXX Source/WebKit2/Platform/CoreIPC/libWebKit2_la-ArgumentDecoder.lo In file included from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, from ./DerivedSources/WebKit2/include/WebCore/config.h:1, ........................... from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp:26: ./DerivedSources/WebKit2/include/WebCore/config.h:1:20: error: #include nested too deeply make[1]: *** [Source/WebKit2/Platform/CoreIPC/libWebKit2_la-ArgumentDecoder.lo] Error 1 svn info Path: . URL:
http://svn.webkit.org/repository/webkit/trunk
Repository Root:
http://svn.webkit.org/repository/webkit
Repository UUID: 268f45cc-cd09-0410-ab3c-d52691b4dbfc Revision: 77747 Node Kind: directory Schedule: normal Last Changed Author:
mrobinson@webkit.org
Last Changed Rev: 77747 Last Changed Date: 2011-02-05 10:26:30 -0800 (Sat, 05 Feb 2011) Steps to reproduce: ------------------------------------------------------------------- svn update ./autogen.sh --enable-web-sockets --enable-geolocation --enable-3D-transforms --enable-filters --enable-webkit2 make -------------------------------------- I am on Fedora 13
Alejandro G. Castro
Comment 13
2011-02-08 23:18:22 PST
Landed
http://trac.webkit.org/changeset/78020
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug