<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>138655</bug_id>
          
          <creation_ts>2014-11-12 03:30:49 -0800</creation_ts>
          <short_desc>REGRESSION(r175930): [GTK] Clean build is broken after r175930</short_desc>
          <delta_ts>2017-03-11 11:02:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048132</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-12 03:30:49 -0800</bug_when>
    <thetext>I&apos;ve rolled out r175930 partially, removing the new unit test added to fix the build until we figure out how to properly fit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048133</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-11-12 03:32:56 -0800</bug_when>
    <thetext>This is the linking error:

lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o: In function `WebCore::RenderThemeGtk::mediaControlsScript()&apos;:
RenderThemeGtk.cpp:(.text+0x129a): undefined reference to `WebCore::mediaControlsLocalizedStringsJavaScript&apos;
RenderThemeGtk.cpp:(.text+0x12cc): undefined reference to `WebCore::mediaControlsBaseJavaScript&apos;
RenderThemeGtk.cpp:(.text+0x12e0): undefined reference to `WebCore::mediaControlsGtkJavaScript&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049143</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-11-17 00:37:08 -0800</bug_when>
    <thetext>Is this still valid? I just built webkit from scratch without problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049145</commentid>
    <comment_count>3</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-11-17 00:46:29 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this still valid? I just built webkit from scratch without problems.

I&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049146</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-17 01:07:44 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Is this still valid? I just built webkit from scratch without problems.
&gt; 
&gt; I&apos;ll let him correct me if I am wrong, but I think Carlos reverted the part
&gt; of the patch causing the regression, so it is still valid because a correct
&gt; way to link that should be found.

Correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049188</commentid>
    <comment_count>5</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-11-17 07:14:51 -0800</bug_when>
    <thetext>Here&apos;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 &apos;WebCore::mediaControlsLocalizedStringsJavaScript&apos;
lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined reference to &apos;WebCore::mediaControlsBaseJavaScript&apos;
lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined reference to &apos;WebCore::mediaControlsGtkJavaScript&apos;
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049417</commentid>
    <comment_count>6</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-11-18 00:59:50 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; g++   -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-strict-aliasing -fno-rtti
&gt; -fno-omit-frame-pointer -fno-tree-dce 
&gt; -L/usr/local/devel/WebKit/WebKitBuild/DependenciesGTK/Root/lib64
&gt; @CMakeFiles/TestWebCore.rsp  -o bin/TestWebKitAPI/WebCore/TestWebCore
&gt; lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
&gt; WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
&gt; function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
&gt; reference to &apos;WebCore::mediaControlsLocalizedStringsJavaScript&apos;
&gt; lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
&gt; WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
&gt; function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
&gt; reference to &apos;WebCore::mediaControlsBaseJavaScript&apos;
&gt; lib/libWebCorePlatformGTK.a(lib/../Source/WebCore/CMakeFiles/
&gt; WebCorePlatformGTK.dir/rendering/RenderThemeGtk.cpp.o):RenderThemeGtk.cpp:
&gt; function WebCore::RenderThemeGtk::mediaControlsScript(): error: undefined
&gt; reference to &apos;WebCore::mediaControlsGtkJavaScript&apos;
&gt; collect2: error: ld returned 1 exit status
&gt; 
&gt; Putting libWebCoreGTK.a before _and_ after libWebCorePlatformGTK.a
&gt; 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&apos;t work, I don&apos;t know why.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>