[Webkit-unassigned] [Bug 226088] New: [CMake] Cannot link libTestRunnerInjectedBundle.so in non unified build

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 21 09:39:52 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=226088

            Bug ID: 226088
           Summary: [CMake] Cannot link libTestRunnerInjectedBundle.so in
                    non unified build
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Tools / Tests
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: aperez at igalia.com

Build error (some things a bit formatted for legibility):

% CXX=clang++ CC=clang build-webkit --wpe --no-unified-builds
...
[1492/1547] Linking CXX shared library lib/libTestRunnerInjectedBundle.so                                                                                                                                                                      
FAILED: lib/libTestRunnerInjectedBundle.so                                                                                                                                                                                                     
: && /usr/lib/sdk/llvm11/bin/clang++ -fPIC -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-noexcept-type -Wno-psabi 
   -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith 
   -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -fno-strict-aliasing -fno-exceptions
   -fno-rtti -O3 -DNDEBUG  -Wl,--no-undefined  -fuse-ld=gold -Wl,--disable-new-dtags -shared -Wl,-soname,libTestRunnerInjectedBundle.so 
   -o lib/libTestRunnerInjectedBundle.so 
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/AccessibilityController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/AccessibilityTextMarker.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/AccessibilityTextMarkerRange.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/AccessibilityUIElement.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/EventSendingController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/GCController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/InjectedBundle.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/InjectedBundleMain.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/InjectedBundlePage.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/TestRunner.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/TextInputController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSAccessibilityController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSAccessibilityTextMarker.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSAccessibilityTextMarkerRange.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSAccessibilityUIElement.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSEventSendingController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSGCController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSTestRunner.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/__/__/WebKitTestRunner/DerivedSources/InjectedBundle/JSTextInputController.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/atk/AccessibilityControllerAtk.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/atk/AccessibilityUIElementAtk.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/wpe/ActivateFontsWPE.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/wpe/InjectedBundleWPE.cpp.o
   Tools/WebKitTestRunner/CMakeFiles/TestRunnerInjectedBundle.dir/InjectedBundle/wpe/TestRunnerWPE.cpp.o
   -Wl,-rpath,/app/webkit/WebKitBuild/Release/lib  lib/libTestRunnerShared.a
   /usr/lib/x86_64-linux-gnu/libatk-1.0.so  /usr/lib/x86_64-linux-gnu/libglib-2.0.so  /usr/lib/x86_64-linux-gnu/libcairo.so
   lib/libWebCoreTestSupport.a  lib/libPAL.a  lib/libJavaScriptCore.a  lib/libWTF.a  lib/libbmalloc.a 
   lib/libWPEWebKit-1.1.so.0.0.0  /usr/lib/x86_64-linux-gnu/libcairo.so  /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so
   /usr/lib/x86_64-linux-gnu/libicudata.so  /usr/lib/x86_64-linux-gnu/libicui18n.so  /usr/lib/x86_64-linux-gnu/libicuuc.so
   -lpthread  /usr/lib/x86_64-linux-gnu/libsystemd.so  /usr/lib/x86_64-linux-gnu/libxml2.so  /usr/lib/x86_64-linux-gnu/libsqlite3.so
   /usr/lib/x86_64-linux-gnu/libxslt.so  /usr/lib/x86_64-linux-gnu/libepoxy.so  lib/libANGLE.a  -ldl
   /usr/lib/x86_64-linux-gnu/libwoff2dec.so  lib/libxdgmime.a  lib/libwebrtc.a  /usr/lib/x86_64-linux-gnu/libvpx.so
   /usr/lib/x86_64-linux-gnu/libevent.so  /usr/lib/x86_64-linux-gnu/libopus.so  /usr/lib/x86_64-linux-gnu/libopenh264.so
   /usr/lib/x86_64-linux-gnu/libfontconfig.so  /usr/lib/x86_64-linux-gnu/libfreetype.so  /usr/lib/x86_64-linux-gnu/libharfbuzz.so
   /usr/lib/x86_64-linux-gnu/libharfbuzz-icu.so  /usr/lib/x86_64-linux-gnu/libgcrypt.so  /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so
   /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so  /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so  /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so
   /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so  /usr/lib/x86_64-linux-gnu/libgstgl-1.0.so
   /usr/lib/x86_64-linux-gnu/libgstcodecparsers-1.0.so  /usr/lib/x86_64-linux-gnu/libgstfft-1.0.so  /usr/lib/x86_64-linux-gnu/libgcrypt.so
   /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so  /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so  /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so
   /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so  /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so  /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so
   /usr/lib/x86_64-linux-gnu/libgstgl-1.0.so  /usr/lib/x86_64-linux-gnu/libgstcodecparsers-1.0.so  /usr/lib/x86_64-linux-gnu/libgstfft-1.0.so
   /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so  -lgpg-error  /usr/lib/x86_64-linux-gnu/libatk-1.0.so  /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so
   /usr/lib/x86_64-linux-gnu/libgio-2.0.so  /usr/lib/x86_64-linux-gnu/libgobject-2.0.so  /usr/lib/x86_64-linux-gnu/libglib-2.0.so
   /usr/lib/x86_64-linux-gnu/libjpeg.so  /usr/lib/x86_64-linux-gnu/libpng.so  /usr/lib/x86_64-linux-gnu/libz.so
   /usr/lib/x86_64-linux-gnu/libopenjp2.so  /usr/lib/x86_64-linux-gnu/libwebpdemux.so  /usr/lib/x86_64-linux-gnu/libwebp.so
   /usr/lib/x86_64-linux-gnu/libavif.so  /usr/lib/x86_64-linux-gnu/libsoup-3.0.so  /usr/lib/x86_64-linux-gnu/libwpe-1.0.so
   /usr/lib/x86_64-linux-gnu/libtasn1.so  /usr/lib/x86_64-linux-gnu/liblcms2.so  /usr/lib/x86_64-linux-gnu/libWPEBackend-fdo-1.0.so
   /usr/lib/x86_64-linux-gnu/libopenxr_loader.so && : 

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::InspectorStubFrontend::InspectorStubFrontend(WebCore::Page&, WTF::RefPtr<WebCore::DOMWindow, WTF::RawPtrTraits<WebCore::DOMWindow>, WTF::DefaultRefDerefTraits<WebCore::DOMWindow> >&&):
    error: undefined reference to 'vtable for WebCore::InspectorFrontendClientLocal::Settings'
/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/../../../../x86_64-unknown-linux-gnu/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::InspectorStubFrontend::InspectorStubFrontend(WebCore::Page&, WTF::RefPtr<WebCore::DOMWindow, WTF::RawPtrTraits<WebCore::DOMWindow>, WTF::DefaultRefDerefTraits<WebCore::DOMWindow> >&&):
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal(WebCore::InspectorController*, WebCore::Page*, std::unique_ptr<WebCore::InspectorFrontendClientLocal::Settings, std::default_delete<WebCore::InspectorFrontendClientLocal::Settings> >)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::InspectorStubFrontend::~InspectorStubFrontend():
    error: undefined reference to 'WebCore::Inspector FrontendClientLocal::inspectedPage() const'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::InspectorStubFrontend::~InspectorStubFrontend():
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::InspectorStubFrontend::closeWindow():
     error: undefined reference to 'WebCore::InspectorFrontendClientLocal::inspectedPage() const'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::createRecorderMockSource(WebCore::MediaStreamPrivate&, WebCore::MediaRecorderPrivateOptions const&):
    error: undefined reference to 'WebCore::MediaRecorderPrivateMock::MediaRecorderPrivateMock(WebCore::MediaStreamPrivate&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::initializeMockMediaSource():
    error: undefined reference to 'WebCore::MockMediaPlayerMediaSource::registerMediaEngine(void (*)(std::unique_ptr<WebCore::MediaPlayerFactory, std::default_delete<WebCore::MediaPlayerFactory> >&&))'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::setPlatformMomentumScrollingPredictionEnabled(bool):
    error: undefined reference to 'WebCore::ScrollingMomentumCalculator::setPlatformMomentumScrollingPredictionEnabled(bool)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::parseHEVCCodecParameters(WTF::StringView):
     error: undefined reference to 'WebCore::parseHEVCCodecParameters(WTF::StringView)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::parseDoViCodecParameters(WTF::StringView):
    error: undefined reference to 'WebCore::parseDoViCodecParameters(WTF::StringView)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::parseVPCodecParameters(WTF::StringView):
    error: undefined reference to 'WebCore::parseVPCodecParameters(WTF::StringView)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::rangeContainsNode(WebCore::AbstractRange const&, WebCore::Node&, WebCore::Internals::TreeType):
    error: undefined reference to 'WebCore::makeSimpleRange(WebCore::AbstractRange const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::rangeContainsBoundaryPoint(WebCore::AbstractRange const&, WebCore::Node&, unsigned int, WebCore::Internals::TreeType):
    error: undefined reference to 'WebCore::makeSimpleRange(WebCore::AbstractRange const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::rangeContainsRange(WebCore::AbstractRange const&, WebCore::AbstractRange const&, WebCore::Internals::TreeType): error: undefined reference to 'WebCore::makeSimpleRange(WebCore::AbstractRange const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  function WebCore::Internals::rangeContainsRange(WebCore::AbstractRange const&, WebCore::AbstractRange const&, WebCore::Internals::TreeType):
    error: undefined reference to 'WebCore::makeSimpleRange(WebCore::AbstractRange const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::windowObjectCleared()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::frontendLoaded()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::pagePaused()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::pageUnpaused()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::moveWindowBy(float, float)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::inspectionLevel() const'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::resetState()'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::userInterfaceLayoutDirection() const'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to WebCore::InspectorFrontendClientLocal::requestSetDockSide(WebCore::InspectorFrontendClient::DockSide)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight(unsigned int)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth(unsigned int)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::changeSheetRect(WebCore::FloatRect const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::openURLExternally(WTF::String const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend:
    error: undefined reference to 'WebCore::InspectorFrontendClientLocal::sendMessageToBackend(WTF::String const&)'

lib/libWebCoreTestSupport.a(lib/../Source/WebCore/CMakeFiles/WebCoreTestSupport.dir/testing/Internals.cpp.o):Internals.cpp:
  vtable for WebCore::InspectorStubFrontend: error: undefined reference to 'WebCore::InspectorFrontendClientLocal::isUnderTest()'

clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210521/04749b76/attachment-0001.htm>


More information about the webkit-unassigned mailing list