RESOLVED WORKSFORME 136626
WEbKitGTK 2.5.3 - undefined references on build
https://bugs.webkit.org/show_bug.cgi?id=136626
Summary WEbKitGTK 2.5.3 - undefined references on build
Dominique Leuenberger
Reported 2014-09-08 06:09:45 PDT
While building webkitgtk 2.5.3, the build on openSUSE aborts with: [ 4158s] /home/abuild/rpmbuild/BUILD/webkitgtk-2.5.3/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp:34: undefined reference to `WebKit::WebGtkExtensionManager::shared()' [ 4158s] /home/abuild/rpmbuild/BUILD/webkitgtk-2.5.3/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp:34: undefined reference to `WebKit::WebGtkExtensionManager::initializ e(OpaqueWKBundle const*, void const*)' [ 4158s] collect2: error: ld returned 1 exit status
Attachments
Alberto Garcia
Comment 1 2014-09-10 04:34:26 PDT
What's the architecture? x86? amd64? What are the build (cmake) options that you are using?
Dominique Leuenberger
Comment 2 2014-09-10 13:23:18 PDT
I saw this on i586 and x86_64 the standard %cmake macro used on openSUSE expands to: /usr/bin/cmake .. \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_C_FLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_Fortran_FLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables} -DNDEBUG" \ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ %if "lib64" == "lib64" -DLIB_SUFFIX=64 \ %endif -DCMAKE_SKIP_RPATH:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DBUILD_STATIC_LIBS:BOOL=OFF \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_MODULES_INSTALL_DIR=/usr/share/cmake/Modules \ -DCMAKE_USER_MAKE_RULES_OVERRIDE="/usr/share/cmake/Modules/opensuse_rules.cmake" ( for now I worke around it by overwriting -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" )
Carlos Garcia Campos
Comment 3 2014-09-10 23:57:00 PDT
Could it be that it's not using the symbols file? There should be something like -Wl,--version-script,${CMAKE_MODULE_PATH}/gtksymbols.filter
Alberto Garcia
Comment 4 2014-12-08 03:31:11 PST
(In reply to comment #2) > for now I worke around it by overwriting > -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ > -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ > -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" > > ) I can build 2.6.x without any of these, check if you have the version script somewhere in the command-line that fails, I have this: -Wl,--version-script,Source/cmake/gtksymbols.filter
Michael Catanzaro
Comment 5 2022-07-06 06:29:50 PDT
Closing since this looks quite old.
Note You need to log in before you can comment on or make changes to this bug.