Bug 138655
Summary: | REGRESSION(r175930): [GTK] Clean build is broken after r175930 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Carlos Garcia Campos <cgarcia> |
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | berto, bugs-noreply, calvaris, mrobinson, svillar |
Priority: | P2 | Keywords: | Gtk, Regression |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Carlos Garcia Campos
I've rolled out r175930 partially, removing the new unit test added to fix the build until we figure out how to properly fit it.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Sergio Villar Senin
This is the linking error:
lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o: In function `WebCore::RenderThemeGtk::mediaControlsScript()':
RenderThemeGtk.cpp:(.text+0x129a): undefined reference to `WebCore::mediaControlsLocalizedStringsJavaScript'
RenderThemeGtk.cpp:(.text+0x12cc): undefined reference to `WebCore::mediaControlsBaseJavaScript'
RenderThemeGtk.cpp:(.text+0x12e0): undefined reference to `WebCore::mediaControlsGtkJavaScript'
Alberto Garcia
Is this still valid? I just built webkit from scratch without problems.
Xabier RodrÃguez Calvar
(In reply to comment #2)
> Is this still valid? I just built webkit from scratch without problems.
I'll let him correct me if I am wrong, but I think Carlos reverted the part of the patch causing the regression, so it is still valid because a correct way to link that should be found.
Carlos Garcia Campos
(In reply to comment #3)
> (In reply to comment #2)
> > Is this still valid? I just built webkit from scratch without problems.
>
> I'll let him correct me if I am wrong, but I think Carlos reverted the part
> of the patch causing the regression, so it is still valid because a correct
> way to link that should be found.
Correct
Alberto Garcia
Here's the full log:
g++ -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-omit-frame-pointer -fno-tree-dce -L/usr/local/devel/WebKit/WebKitBuild/DependenciesGTK/Root/lib64 @CMakeFiles/TestWebCore.rsp -o bin/TestWebKitAPI/WebCore/TestWebCore
lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined reference to 'WebCore::mediaControlsLocalizedStringsJavaScript'
lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined reference to 'WebCore::mediaControlsBaseJavaScript'
lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined reference to 'WebCore::mediaControlsGtkJavaScript'
collect2: error: ld returned 1 exit status
The missing symbols are in lib/libWebCoreGTK.a, however they are not
being found. This seems to have to do with the order in which they
appear in CMakeFiles/TestWebCore.rsp:
[...] lib/libgtest.so lib/libWTFGTK.a lib/libWebCoreGTK.a lib/libWebCorePlatformGTK.a -lgdk-3 [...]
If I put libWebCoreGTK.a _after_ libWebCorePlatformGTK.a those errors
are replaced with a much longer list.
Putting libWebCoreGTK.a before _and_ after libWebCorePlatformGTK.a
makes the problem disappear.
Xabier RodrÃguez Calvar
(In reply to comment #5)
> g++ -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti
> -fno-omit-frame-pointer -fno-tree-dce
> -L/usr/local/devel/WebKit/WebKitBuild/DependenciesGTK/Root/lib64
> @CMakeFiles/TestWebCore.rsp -o bin/TestWebKitAPI/WebCore/TestWebCore
> lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
> WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
> function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
> reference to 'WebCore::mediaControlsLocalizedStringsJavaScript'
> lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
> WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
> function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
> reference to 'WebCore::mediaControlsBaseJavaScript'
> lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
> WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
> function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
> reference to 'WebCore::mediaControlsGtkJavaScript'
> collect2: error: ld returned 1 exit status
>
> Putting libWebCoreGTK.a before _and_ after libWebCorePlatformGTK.a
> makes the problem disappear.
Martin, these are the symbols defined in WebCore, but come from the serialization of the scripts defined in PlatformGTK. We tried adding WebCore as direct dependency of the tests, but it didn't work, I don't know why.