[Webkit-unassigned] [Bug 246161] New: Fails to build to build on glibc versions less than 2.24 due to libdl link order

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 6 09:54:35 PDT 2022


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

            Bug ID: 246161
           Summary: Fails to build to build on glibc versions less than
                    2.24 due to libdl link order
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: CMake
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: oreo6391 at gmail.com

When trying to build the latest main commit of WebKit on a machine using glibc 2.32, I get the following linker error:

[3008/3014] Linking CXX executable bin/MiniBrowser
FAILED: bin/MiniBrowser 
: && /usr/bin/g++ -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -DNDEBUG -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2  -DNDEBUG  -fdebug-prefix-map=/builddir/WebKit-c26298eec7436f5d085afa3a364db526f6d428fe/build=. -fno-strict-aliasing -fno-exceptions -fno-rtti -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,--disable-new-dtags Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/__/__/__/MiniBrowser/DerivedSources/BrowserMarshal.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserCellRendererVariant.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserDownloadsBar.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserSearchBox.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserSettingsDialog.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserTab.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/BrowserWindow.c.o Tools/MiniBrowser/gtk/CMakeFiles/MiniBrowser.dir/main.c.o -o bin/MiniBrowser  /usr/lib64/libglib-2.0.so  /usr/lib64/libsoup-3.0.so  /usr/lib64/libgstreamer-1.0.so  lib/libwebkit2gtk-4.1.so.0.3.0  /usr/lib64/libWPEBackend-fdo-1.0.so  /usr/lib64/libgtk-3.so  /usr/lib64/libgdk-3.so  /usr/lib64/libz.so  /usr/lib64/libpangocairo-1.0.so  /usr/lib64/libpango-1.0.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libatk-1.0.so  /usr/lib64/libcairo-gobject.so  /usr/lib64/libcairo.so  /usr/lib64/libgdk_pixbuf-2.0.so  lib/libjavascriptcoregtk-4.1.so.0.3.0  /usr/lib/libicudata.so  /usr/lib/libicui18n.so  /usr/lib/libicuuc.so  -latomic  -lpthread  /usr/lib64/libxml2.so  /usr/lib64/libsqlite3.so  /usr/lib64/libxslt.so  /usr/lib64/libOpenGL.so  /usr/lib64/libGLX.so  /usr/lib64/libEGL.so  lib/libGLESv2.a  -ldl  lib/libANGLE.a  /usr/lib64/liblcms2.so  /usr/lib/libwoff2dec.so  lib/libxdgmime.a  /usr/lib/libcairo.so  /usr/lib64/libfontconfig.so  /usr/lib/libfreetype.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libharfbuzz-icu.so  /usr/lib64/libgcrypt.so  /usr/lib64/libgpg-error.so  /usr/lib64/libgstallocators-1.0.so  /usr/lib64/libgstapp-1.0.so  /usr/lib64/libgstbase-1.0.so  /usr/lib64/libgstreamer-1.0.so  /usr/lib64/libgstpbutils-1.0.so  /usr/lib64/libgstaudio-1.0.so  /usr/lib64/libgsttranscoder-1.0.so  /usr/lib64/libgsttag-1.0.so  /usr/lib64/libgstvideo-1.0.so  /usr/lib64/libgstgl-1.0.so  /usr/lib64/libgstfft-1.0.so  /usr/lib64/libsoup-3.0.so  /usr/lib/libjpeg.so  /usr/lib/libpng.so  /usr/lib/libz.so  /usr/lib/libopenjp2.so  /usr/lib64/libwebpdemux.so  /usr/lib64/libwebp.so  /usr/lib64/libenchant-2.so  /usr/lib64/libgio-2.0.so  /usr/lib64/libgmodule-2.0.so  /usr/lib64/libgobject-2.0.so  /usr/lib64/libglib-2.0.so  -lsecret-1  -lgio-2.0  -lgobject-2.0  -lglib-2.0  /usr/lib64/libtasn1.so  /usr/lib/libhyphen.so  /usr/lib/libX11.so  /usr/lib/libXcomposite.so  /usr/lib/libXdamage.so  /usr/lib/libXrender.so  /usr/lib/libXt.so  -lwayland-server  -lwayland-egl  -lwayland-client  /usr/lib64/libwpe-1.0.so  /usr/lib64/libmanette-0.2.so  /usr/lib64/libseccomp.so  /usr/lib64/libgbm.so  /usr/lib64/libdrm.so && :
/usr/bin/ld: lib/../Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/system_utils_posix.cpp.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


This occurs because ${CMAKE_DL_LIBS} is missing here, which results in a link order error: https://github.com/WebKit/WebKit/blob/d257ea20c5996ada3c009a6a2f4a639f92c0e2ca/Source/ThirdParty/ANGLE/CMakeLists.txt#L145

This doesn't affect newer version of glibc because libdl was merged into the libc.

-- 
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/20221006/27823e29/attachment.htm>


More information about the webkit-unassigned mailing list