WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
246161
Fails to build to build on glibc versions less than 2.34 due to libdl link order
https://bugs.webkit.org/show_bug.cgi?id=246161
Summary
Fails to build to build on glibc versions less than 2.34 due to libdl link order
oreo6391
Reported
2022-10-06 09:54:35 PDT
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.
Attachments
Add attachment
proposed patch, testcase, etc.
oreo6391
Comment 1
2022-10-06 12:26:14 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/5101
EWS
Comment 2
2022-10-07 01:05:08 PDT
Committed
255257@main
(8e3030cb0e45): <
https://commits.webkit.org/255257@main
> Reviewed commits have been landed. Closing PR #5101 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug