[Webkit-unassigned] [Bug 183116] New: [GTK] Linkage errors happen because only OpenVR is compiled with -stdlib=libc++ if Clang is used

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Feb 25 20:35:21 PST 2018


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

            Bug ID: 183116
           Summary: [GTK] Linkage errors happen because only OpenVR is
                    compiled with -stdlib=libc++ if Clang is used
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: Hironori.Fujii at sony.com
                CC: bugs-noreply at webkitgtk.org
            Blocks: 145121

trunk at 228984

> export CC=clang-5.0
> export CXX=clang++-5.0
> ./Tools/Scripts/build-webkit --gtk --release

> FAILED: bin/TestWebKitAPI/WebCore/TestWebCore 
> : && /usr/bin/clang++-5.0  -fdiagnostics-color=always -fcolor-diagnostics -Wno-parentheses-equality -Wno-noexcept-type -Qunused-arguments -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  -L/home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Root/lib -fuse-ld=gold -Wl,--disable-new-dtags   -rdynamic Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/gtk/main.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/glib/UtilitiesGLib.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/TestsController.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/CSSParser.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/ComplexTextController.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/FileMonitor.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/FileSystem.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/GridPosition.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/HTMLParserIdioms.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/LayoutUnit.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/MIMETypeRegistry.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/PublicSuffix.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/SecurityOrigin.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/SharedBuffer.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/SharedBufferTest.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/URL.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/URLParser.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/UserAgentQuirks.cpp.o Tools/TestWebKitAPI/CMakeFiles/TestWebCore.dir/Tests/WebCore/SampleMap.cpp.o  -o bin/TestWebKitAPI/WebCore/TestWebCore  -Wl,-rpath,/home/fujii/work/webkit/ga/WebKitBuild/Release/lib -Wl,--whole-archive lib/libWTFGTK.a -Wl,--no-whole-archive -Wl,--whole-archive lib/libWebCoreGTK.a -Wl,--no-whole-archive -Wl,--whole-archive lib/libgtest.so -Wl,--no-whole-archive -Wl,--whole-archive lib/libWebCorePlatformGTK.a -Wl,--no-whole-archive -Wl,--whole-archive -lgdk-3 -Wl,--no-whole-archive -Wl,--whole-archive -lpangocairo-1.0 -Wl,--no-whole-archive -Wl,--whole-archive -lpango-1.0 -Wl,--no-whole-archive -Wl,--whole-archive -lgdk_pixbuf-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lcairo-gobject -Wl,--no-whole-archive -Wl,--whole-archive -lcairo -Wl,--no-whole-archive -Wl,--whole-archive -lgobject-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lglib-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lgtk-3 -Wl,--no-whole-archive -Wl,--whole-archive -lgdk-3 -Wl,--no-whole-archive -Wl,--whole-archive -lpangocairo-1.0 -Wl,--no-whole-archive -Wl,--whole-archive -lpango-1.0 -Wl,--no-whole-archive -Wl,--whole-archive -latk-1.0 -Wl,--no-whole-archive -Wl,--whole-archive -lcairo-gobject -Wl,--no-whole-archive -Wl,--whole-archive -lcairo -Wl,--no-whole-archive -Wl,--whole-archive -lgdk_pixbuf-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lgio-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lgobject-2.0 -Wl,--no-whole-archive -Wl,--whole-archive -lglib-2.0 -Wl,--no-whole-archive lib/libANGLESupport.a -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -latk-1.0 ../DependenciesGTK/Root/lib/libxml2.so /usr/lib/x86_64-linux-gnu/libxslt.so /usr/lib/x86_64-linux-gnu/libsqlite3.so lib/libPAL.a lib/libjavascriptcoregtk-4.0.so.18.7.4 lib/libWTFGTK.a lib/libbmalloc.a -ldl ../DependenciesGTK/Root/lib/libicudata.so ../DependenciesGTK/Root/lib/libicuuc.so -lpthread ../DependenciesGTK/Root/lib/libicui18n.so /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libEGL.so lib/libopenvr_api.a ../DependenciesGTK/Root/lib/libwoff2dec.so lib/libxdgmime.a ../DependenciesGTK/Root/lib/libcairo.so ../DependenciesGTK/Root/lib/libfontconfig.so ../DependenciesGTK/Root/lib/libfreetype.so ../DependenciesGTK/Root/lib/libharfbuzz.so ../DependenciesGTK/Root/lib/libharfbuzz-icu.so ../DependenciesGTK/Root/lib/libgcrypt.so ../DependenciesGTK/Root/lib/libgstapp-1.0.so ../DependenciesGTK/Root/lib/libgstbase-1.0.so ../DependenciesGTK/Root/lib/libgstreamer-1.0.so ../DependenciesGTK/Root/lib/libgstpbutils-1.0.so ../DependenciesGTK/Root/lib/libgstaudio-1.0.so ../DependenciesGTK/Root/lib/libgsttag-1.0.so ../DependenciesGTK/Root/lib/libgstvideo-1.0.so ../DependenciesGTK/Root/lib/libgstgl-1.0.so ../DependenciesGTK/Root/lib/libgstfft-1.0.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libwebp.so /usr/lib/x86_64-linux-gnu/libwebpdemux.so ../DependenciesGTK/Root/lib/libatk-1.0.so ../DependenciesGTK/Root/lib/libcairo.so ../DependenciesGTK/Root/lib/libfontconfig.so ../DependenciesGTK/Root/lib/libfreetype.so ../DependenciesGTK/Root/lib/libharfbuzz.so ../DependenciesGTK/Root/lib/libharfbuzz-icu.so ../DependenciesGTK/Root/lib/libgcrypt.so ../DependenciesGTK/Root/lib/libgstapp-1.0.so ../DependenciesGTK/Root/lib/libgstbase-1.0.so ../DependenciesGTK/Root/lib/libgstreamer-1.0.so ../DependenciesGTK/Root/lib/libgstpbutils-1.0.so ../DependenciesGTK/Root/lib/libgstaudio-1.0.so ../DependenciesGTK/Root/lib/libgsttag-1.0.so ../DependenciesGTK/Root/lib/libgstvideo-1.0.so ../DependenciesGTK/Root/lib/libgstgl-1.0.so ../DependenciesGTK/Root/lib/libgstfft-1.0.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libwebp.so /usr/lib/x86_64-linux-gnu/libwebpdemux.so ../DependenciesGTK/Root/lib/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libenchant.so ../DependenciesGTK/Root/lib/libgio-2.0.so ../DependenciesGTK/Root/lib/libgmodule-2.0.so ../DependenciesGTK/Root/lib/libgobject-2.0.so ../DependenciesGTK/Root/lib/libglib-2.0.so -lsecret-1 ../DependenciesGTK/Root/lib/libsoup-2.4.so /usr/lib/x86_64-linux-gnu/libtasn1.so /usr/lib/x86_64-linux-gnu/libhyphen.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXcomposite.so /usr/lib/x86_64-linux-gnu/libXdamage.so /usr/lib/x86_64-linux-gnu/libXrender.so /usr/lib/x86_64-linux-gnu/libXt.so /usr/lib/x86_64-linux-gnu/libz.so -lwayland-server -lwayland-egl -lwayland-client -lgobject-2.0 -lglib-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgio-2.0 && :
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function VR_InitInternal2: error: undefined reference to 'std::__1::recursive_mutex::lock()'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function VR_InitInternal2: error: undefined reference to 'std::__1::recursive_mutex::unlock()'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function VR_InitInternal2: error: undefined reference to 'std::__1::recursive_mutex::unlock()'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function vr::VR_LoadHmdSystemInternal(): error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function vr::VR_LoadHmdSystemInternal(): error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function vr::VR_LoadHmdSystemInternal(): error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
> lib/libopenvr_api.a(lib/../Source/ThirdParty/openvr/src/CMakeFiles/openvr_api.dir/openvr_api_public.cpp.o):../../Source/ThirdParty/openvr/src/openvr_api_public.cpp:function vr::VR_LoadHmdSystemInternal(): error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'

Full build log: https://gist.github.com/fujii/fcf073f8648fac237d4fe38a3ee408f1

-stdlib=libc++ is given only when Clang is used.
https://trac.webkit.org/browser/webkit/trunk/Source/ThirdParty/openvr/CMakeLists.txt?rev=227518#L46


Referenced Bugs:

https://bugs.webkit.org/show_bug.cgi?id=145121
[Bug 145121] [meta] Polish clang build on Linux until it shines
-- 
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/20180226/ce1a0fc2/attachment-0001.html>


More information about the webkit-unassigned mailing list