WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 184441
[GTK][WPE] TestWTF and TestJSC fail to compile due to missing forwarding headers
https://bugs.webkit.org/show_bug.cgi?id=184441
Summary
[GTK][WPE] TestWTF and TestJSC fail to compile due to missing forwarding headers
Fujii Hironori
Reported
2018-04-09 22:48:12 PDT
[GTK][WPE] TestJSC fails to compile due to missing forwarding headers It's easy to reproduce this compilation error by this command: ./Tools/Scripts/build-webkit --gtk --release --makeargs=TestJSC
> [2448/4480] Building CXX object Tools/TestWebKitAPI/C...s/TestJSC.dir/Tests/JavaScriptCore/glib/TestJSC.cpp.o > FAILED: Tools/TestWebKitAPI/CMakeFiles/TestJSC.dir/Tests/JavaScriptCore/glib/TestJSC.cpp.o > /usr/lib/ccache/c++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT2__ -DBUILDING_WITH_CMAKE=1 -DDATA_DIR=\"share\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DGTEST_HAS_RTTI=0 -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DTEST_WEBKIT2_RESOURCES_DIR=\"/home/fujii/work/webkit/ga/Tools/TestWebKitAPI/Tests/WebKit\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -IDerivedSources/ForwardingHeaders -IDerivedSources/ForwardingHeaders/JavaScriptCore -IDerivedSources/ForwardingHeaders/JavaScriptCore/glib -IDerivedSources/JavaScriptCore/javascriptcoregtk -I../../Source/WebKit/UIProcess/API/C/soup -I../../Source/WebKit/UIProcess/API/C/gtk -I../../Source/WebKit/UIProcess/API/gtk -isystem ../DependenciesGTK/Root/include/gtk-3.0 -isystem ../DependenciesGTK/Root/include/gio-unix-2.0 -isystem ../DependenciesGTK/Root/include/cairo -isystem ../DependenciesGTK/Root/include/pango-1.0 -isystem ../DependenciesGTK/Root/include/harfbuzz -isystem ../DependenciesGTK/Root/include/gdk-pixbuf-2.0 -isystem ../DependenciesGTK/Root/include/pixman-1 -isystem ../DependenciesGTK/Root/include/freetype2 -isystem /usr/include/libpng16 -isystem ../DependenciesGTK/Root/include/libxml2 -isystem ../DependenciesGTK/Root/include/libdrm -isystem ../DependenciesGTK/Root/include/glib-2.0 -isystem ../DependenciesGTK/Root/lib/glib-2.0/include -isystem ../DependenciesGTK/Root/include/at-spi2-atk/2.0 -isystem ../DependenciesGTK/Root/include/at-spi-2.0 -isystem ../DependenciesGTK/Root/include/atk-1.0 -isystem /usr/include/dbus-1.0 -isystem /usr/lib/x86_64-linux-gnu/dbus-1.0/include -isystem ../DependenciesGTK/Root/include/libsoup-2.4 -I../../Tools/TestWebKitAPI -I. -I../../Source -I../../Source/JavaScriptCore -I../../Source/ThirdParty/gtest/include -I../../Source/WebKit/Platform/IPC -I../../Source/WebKit/Shared -I../../Source/WebKit/Shared/API -I../../Source/WebKit/Shared/API/c -I../../Source/WebKit/Shared/Plugins -I../../Source/WebKit/UIProcess -I../../Source/WebKit/UIProcess/API -I../../Source/WebKit/WebProcess/InjectedBundle -I../../Source/WebKit/WebProcess/InjectedBundle/API/c -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -Wno-expansion-to-defined -Wno-attributes -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wextra -Wall -fno-strict-aliasing -fno-exceptions -std=c++14 -fno-rtti -O3 -DNDEBUG -fPIE -Wno-sign-compare -Wno-undef -Wno-unused-parameter -MD -MT Tools/TestWebKitAPI/CMakeFiles/TestJSC.dir/Tests/JavaScriptCore/glib/TestJSC.cpp.o -MF Tools/TestWebKitAPI/CMakeFiles/TestJSC.dir/Tests/JavaScriptCore/glib/TestJSC.cpp.o.d -o Tools/TestWebKitAPI/CMakeFiles/TestJSC.dir/Tests/JavaScriptCore/glib/TestJSC.cpp.o -c ../../Tools/TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp > In file included from DerivedSources/ForwardingHeaders/WebKit/WKBase.h:1:0, > from ../../Source/WebKit/UIProcess/API/C/WebKit2_C.h:29, > from DerivedSources/ForwardingHeaders/WebKit/WebKit2_C.h:1, > from ../../Tools/TestWebKitAPI/config.h:49, > from ../../Tools/TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:20: > ../../Source/WebKit/Shared/API/c/WKBase.h:30:10: fatal error: WebKit/WKDeclarationSpecifiers.h: No such file or directory > #include <WebKit/WKDeclarationSpecifiers.h> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Attachments
Patch
(2.16 KB, patch)
2018-04-09 22:51 PDT
,
Fujii Hironori
Hironori.Fujii
: review-
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews102 for mac-sierra
(2.27 MB, application/zip)
2018-04-09 23:54 PDT
,
EWS Watchlist
no flags
Details
WIP patch
(790 bytes, patch)
2018-04-10 20:40 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(3.31 KB, patch)
2018-04-10 21:16 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(3.31 KB, patch)
2018-07-10 01:16 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2018-04-09 22:51:14 PDT
Created
attachment 337593
[details]
Patch
EWS Watchlist
Comment 2
2018-04-09 23:54:49 PDT
Comment on
attachment 337593
[details]
Patch
Attachment 337593
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.webkit.org/results/7264721
New failing tests: imported/w3c/web-platform-tests/workers/name-property.html
EWS Watchlist
Comment 3
2018-04-09 23:54:50 PDT
Created
attachment 337595
[details]
Archive of layout-test-results from ews102 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-sierra Platform: Mac OS X 10.12.6
Michael Catanzaro
Comment 4
2018-04-10 12:55:43 PDT
Comment on
attachment 337593
[details]
Patch Does TestWebKit need both these dependencies, too? Does TestWebCore need the PALForwardingHeaders dependency? Why are PALForwardingHeaders special?
Fujii Hironori
Comment 5
2018-04-10 17:53:31 PDT
Tools/TestWebKitAPI/config.h includes <WebCore/PlatformExportMacros.h> and <pal/ExportMacros.h>.
https://trac.webkit.org/browser/webkit/trunk/Tools/TestWebKitAPI/config.h?rev=229029#L32
Then, TestWebKitAPI needs the forwarding headers of WebCore and PAL. The forwarding headers of WebCore are generated by generate-forwarding-headers.pl in GTK port.
https://trac.webkit.org/browser/webkit/trunk/Tools/TestWebKitAPI/PlatformGTK.cmake?rev=229029#L8
The forwarding headers of PAL are generated by WEBKIT_MAKE_FORWARDING_HEADERS in all CMake ports.
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/PAL/pal/CMakeLists.txt?rev=229029#L53
TestWebKit and TestWebCore already has a implicit dependency to PAL because WebCore depends on PAL.
Fujii Hironori
Comment 6
2018-04-10 20:01:45 PDT
Thanks for Michael's feedback, I realised this patch doens't solve the problem for TestWTF.
> ./Tools/Scripts/build-webkit --gtk --release --makeargs=TestWTF
> + /home/fujii/work/webkit/ga/Tools/jhbuild/jhbuild-wrapper --gtk run cmake --build /home/fujii/work/webkit/ga/WebKitBuild/Release --config Release -- TestWTF > [1043/1118] Building CXX object Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Counters.cpp.o > FAILED: Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Counters.cpp.o > /usr/lib/ccache/c++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT2__ -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DGTEST_HAS_RTTI=0 -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DTEST_WEBKIT2_RESOURCES_DIR=\"/home/fujii/work/webkit/ga/Tools/TestWebKitAPI/Tests/WebKit\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -IDerivedSources/ForwardingHeaders -IDerivedSources/ForwardingHeaders/JavaScriptCore -IDerivedSources/ForwardingHeaders/JavaScriptCore/glib -IDerivedSources/JavaScriptCore/javascriptcoregtk -I../../Source/WebKit/UIProcess/API/C/soup -I../../Source/WebKit/UIProcess/API/C/gtk -I../../Source/WebKit/UIProcess/API/gtk -isystem ../DependenciesGTK/Root/include/gtk-3.0 -isystem ../DependenciesGTK/Root/include/gio-unix-2.0 -isystem ../DependenciesGTK/Root/include/cairo -isystem ../DependenciesGTK/Root/include/pango-1.0 -isystem ../DependenciesGTK/Root/include/harfbuzz -isystem ../DependenciesGTK/Root/include/gdk-pixbuf-2.0 -isystem ../DependenciesGTK/Root/include/pixman-1 -isystem ../DependenciesGTK/Root/include/freetype2 -isystem /usr/include/libpng16 -isystem ../DependenciesGTK/Root/include/libxml2 -isystem ../DependenciesGTK/Root/include/libdrm -isystem ../DependenciesGTK/Root/include/glib-2.0 -isystem ../DependenciesGTK/Root/lib/glib-2.0/include -isystem ../DependenciesGTK/Root/include/at-spi2-atk/2.0 -isystem ../DependenciesGTK/Root/include/at-spi-2.0 -isystem ../DependenciesGTK/Root/include/atk-1.0 -isystem /usr/include/dbus-1.0 -isystem /usr/lib/x86_64-linux-gnu/dbus-1.0/include -isystem ../DependenciesGTK/Root/include/libsoup-2.4 -I../../Tools/TestWebKitAPI -I. -I../../Source -I../../Source/JavaScriptCore -I../../Source/ThirdParty/gtest/include -I../../Source/WebKit/Platform/IPC -I../../Source/WebKit/Shared -I../../Source/WebKit/Shared/API -I../../Source/WebKit/Shared/API/c -I../../Source/WebKit/Shared/Plugins -I../../Source/WebKit/UIProcess -I../../Source/WebKit/UIProcess/API -I../../Source/WebKit/WebProcess/InjectedBundle -I../../Source/WebKit/WebProcess/InjectedBundle/API/c -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -Wno-expansion-to-defined -Wno-attributes -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wextra -Wall -fno-strict-aliasing -fno-exceptions -std=c++14 -fno-rtti -O3 -DNDEBUG -fPIE -Wno-dangling-else -Wno-sign-compare -Wno-undef -Wno-unused-parameter -MD -MT Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Counters.cpp.o -MF Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Counters.cpp.o.d -o Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Counters.cpp.o -c ../../Tools/TestWebKitAPI/Counters.cpp > In file included from ../../Tools/TestWebKitAPI/Counters.cpp:26:0: > ../../Tools/TestWebKitAPI/config.h:33:10: fatal error: pal/ExportMacros.h: No such file or directory > #include <pal/ExportMacros.h>
Fujii Hironori
Comment 7
2018-04-10 20:34:55 PDT
(In reply to Fujii Hironori from
comment #5
)
> Tools/TestWebKitAPI/config.h includes <WebCore/PlatformExportMacros.h> and > <pal/ExportMacros.h>. >
https://trac.webkit.org/browser/webkit/trunk/Tools/TestWebKitAPI/config
. > h?rev=229029#L32 > > Then, TestWebKitAPI needs the forwarding headers of WebCore and PAL.
It seems that config.h doesn't need to include those headers.
Fujii Hironori
Comment 8
2018-04-10 20:39:42 PDT
#include <WebCore/PlatformExportMacros.h> has been added in
Bug 136521
.
Fujii Hironori
Comment 9
2018-04-10 20:40:47 PDT
Created
attachment 337672
[details]
WIP patch
Fujii Hironori
Comment 10
2018-04-10 21:05:10 PDT
(In reply to Fujii Hironori from
comment #7
)
> It seems that config.h doesn't need to include those headers.
I'm wrong. It is needed.
Fujii Hironori
Comment 11
2018-04-10 21:16:54 PDT
Created
attachment 337673
[details]
Patch
Fujii Hironori
Comment 12
2018-07-10 01:16:15 PDT
Created
attachment 344679
[details]
Patch This is still happening. It's easy to reproduce. Rebased the patch onto ToT.
WebKit Commit Bot
Comment 13
2018-07-10 11:24:11 PDT
Comment on
attachment 344679
[details]
Patch Clearing flags on attachment: 344679 Committed
r233692
: <
https://trac.webkit.org/changeset/233692
>
WebKit Commit Bot
Comment 14
2018-07-10 11:24:13 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 15
2018-07-10 11:25:26 PDT
<
rdar://problem/42032626
>
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