<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] TestWebKitAPI fails to link"
   href="https://bugs.webkit.org/show_bug.cgi?id=148210">148210</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[GTK] TestWebKitAPI fails to link
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P3
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>WebKit Gtk
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>tetromino&#64;gentoo.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=259442" name="attach_259442" title="complete build log (xz compressed, 68M uncompressed)">attachment 259442</a> <a href="attachment.cgi?id=259442&amp;action=edit" title="complete build log (xz compressed, 68M uncompressed)">[details]</a></span>
complete build log (xz compressed, 68M uncompressed)

In webkit-gtk-2.8.5 and 2.8.4, I am seeing an interesting failure when trying to build with -DENABLE_API_TESTS=ON:

[5414/5418] : &amp;&amp; /usr/bin/x86_64-pc-linux-gnu-g++   -march=native -O2 -pipe -ggdb -frecord-gcc-switches -fstack-protector-strong -fno-strict-aliasing  -std=c++11  -Wl,--as-needed -Wl,-O1 -Wl,--no-keep-memory -fuse-ld=gold -Wl,--disable-new-dtags &#64;CMakeFiles/TestWebKit2.rsp  -o bin/TestWebKitAPI/WebKit2/TestWebKit2  &amp;&amp; :
FAILED: : &amp;&amp; /usr/bin/x86_64-pc-linux-gnu-g++   -march=native -O2 -pipe -ggdb -frecord-gcc-switches -fstack-protector-strong -fno-strict-aliasing  -std=c++11  -Wl,--as-needed -Wl,-O1 -Wl,--no-keep-memory -fuse-ld=gold -Wl,--disable-new-dtags &#64;CMakeFiles/TestWebKit2.rsp  -o bin/TestWebKitAPI/WebKit2/TestWebKit2  &amp;&amp; :
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:46: error: undefined reference to 'WKContextCreate'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:55: error: undefined reference to 'WKPageSetPageLoaderClient'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:57: error: undefined reference to 'WKURLCreateWithUTF8CString'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:57: error: undefined reference to 'WKPageLoadURL'
[...250 similar lines omitted here...]
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/PlatformUtilities.cpp:51: error: undefined reference to 'WKDictionarySetItem'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/PlatformUtilities.cpp:54: error: undefined reference to 'WKDictionarySetItem'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/PlatformUtilities.cpp:64: error: undefined reference to 'WKContextSetInitializationUserDataForInjectedBundle'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/PlatformUtilities.cpp:71: error: undefined reference to 'WKStringGetMaximumUTF8CStringSize'
/var/tmp2/portage/net-libs/webkit-gtk-2.8.5/work/webkitgtk-2.8.5/Tools/TestWebKitAPI/PlatformUtilities.cpp:73: error: undefined reference to 'WKStringGetUTF8CString'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.


It seems that for some reason, the linker is failing to find lib/libwebkit2gtk-4.0.so.37.6.8 even though lib/libwebkit2gtk-4.0.so.37.6.8 was already built (tested using ninja -j 1) and was listed in CMakeFiles/TestWebKit2.rsp:


-rdynamic lib/libTestWebKitAPIBase.a lib/libWTFGTK.a lib/libwebkit2gtk-4.0.so.37.6.8 lib/libgtest.so -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgobject-2.0 -lglib-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -Wl,--whole-archive -Wl,--no-whole-archive lib/libWebCoreGTK.a -lgnutls lib/libANGLESupport.a -lrt lib/libGObjectDOMBindings.a lib/libWebCorePlatformGTK.a lib/libjavascriptcoregtk-4.0.so.18.1.12 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lGL -lEGL -latk-1.0 -lcairo -lenchant -lfontconfig -lfreetype -lgmodule-2.0 -lharfbuzz -lharfbuzz-icu -ljpeg -lsecret-1 -lsoup-2.4 -lxml2 -lxslt -lpng -lsqlite3 -lwebp -lX11 -lXcomposite -lXdamage -lXrender -lXt -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgstpbutils-1.0 -lgstaudio-1.0 -lgsttag-1.0 -lgstvideo-1.0 -lgstmpegts-1.0 -lgstfft-1.0 -lnotify -lgdk_pixbuf-2.0 -lgio-2.0 -lgobjec
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>