[Webkit-unassigned] [Bug 135932] New: 2.5.[12]: problem when installing in a multilib environment

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Aug 14 00:04:31 PDT 2014


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

           Summary: 2.5.[12]: problem when installing in a multilib
                    environment
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: balducci at units.it


w/2.5.1 (and I guess w/2.5.2 too, didn't try yet) I get a problem
installing in a multilib (ABI32/64) environment

The build for ABI32 chokes at the end:

    [ 95%] Generating ../../WebKit2-4.0.gir

    ...

    /usr/bin/ld: skipping incompatible /home/balducci/tmp/install-us-d/webkitgtk-2.4.4.d/webkitgtk-2.5.1/lib/libwebkit2gtk-4.0.so when searching for -lwebkit2gtk-4.0
    /usr/bin/ld: cannot find -lwebkit2gtk-4.0

    ...[a bunch of similar messages for many ABI32 system libs]...

    linking of temporary binary failed: Command '['/usr/bin/gcc', '-o', '/home/balducci/tmp/install-us-d/webkitgtk-2.4.4.d/webkitgtk-2.5.1/Source/WebKit2/tmp-introspectK7AFYo/WebKit2-4.0', '-Wno-deprecated-declarations', '/home/balducci/tmp/install-us-d/webkitgtk-2.4.4.d/webkitgtk-2.5.1/Source/WebKit2/tmp-introspectK7AFYo/WebKit2-4.0.o', '-L.', '-Wl,-rpath=.', '-Wl,--no-as-needed', '-lwebkit2gtk-4.0', '-ljavascriptcoregtk-4.0', '-L/home/balducci/tmp/install-us-d/webkitgtk-2.4.4.d/webkitgtk-2.5.1/lib', '-Wl,-rpath=/home/balducci/tmp/install-us-d/webkitgtk-2.4.4.d/webkitgtk-2.5.1/lib', '-L/opt/stow.d/versions/glib-2.41.2/usr/lib', '-L/opt/stow.d/versions/gtk+-3.13.6/usr/lib', '-L/opt/stow.d/versions/pango-1.36.5/usr/lib', '-L/opt/stow.d/versions/atk-2.13.3/usr/lib', '-L/opt/stow.d/stow/cairo/usr/lib', '-L/usr/Xorg/lib', '-L/opt/stow.d/stow/cairo/usr/lib', '-L/opt/stow.d/versions/gdk-pixbuf-2.31.0/usr/lib', '-L/opt/stow.d/versions/libsoup-2.47.4/usr/lib', '-L/opt/stow.d/versions/glib-2.
    Source/WebKit2/CMakeFiles/WebKit2-4-gir.dir/build.make:57: recipe for target 'WebKit2-4.0.gir' failed

The reason for the failure is that g-ir-scanner is being passed an
incorrect gcc call lacking the necessary -m32 opt (default ABI being
64 bit).

The following hack:

    diff -c ./Source/WebKit2/PlatformGTK.cmake.FIX_GIR_COMPILER ./Source/WebKit2/PlatformGTK.cmake
    *** ./Source/WebKit2/PlatformGTK.cmake.FIX_GIR_COMPILERWed Aug 13 21:32:59 2014
    --- ./Source/WebKit2/PlatformGTK.cmakeWed Aug 13 21:32:59 2014
    ***************
    *** 741,747 ****
          OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
          DEPENDS WebKit2
          DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
    !     COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
              ${INTROSPECTION_SCANNER}
              --quiet
              --warn-all
    --- 741,747 ----
          OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
          DEPENDS WebKit2
          DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
    !     COMMAND CC=${CMAKE_C_COMPILER} CFLAGS='-m32 -Wno-deprecated-declarations' LDFLAGS=-m32
              ${INTROSPECTION_SCANNER}
              --quiet
              --warn-all
    ***************
    *** 779,785 ****
          OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
          DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
          DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
    !     COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
              ${INTROSPECTION_SCANNER}
              --quiet
              --warn-all
    --- 779,785 ----
          OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
          DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
          DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
    !     COMMAND CC=${CMAKE_C_COMPILER} CFLAGS='-m32 -Wno-deprecated-declarations' LDFLAGS=-m32
              ${INTROSPECTION_SCANNER}
              --quiet
              --warn-all


works around the issue for me, allowing to complete successfully the
build.

Of course, the above is just a hack; but it seems to me that the issue
w/ multilib builds is real. Apologies for not speaking cmake and hence
not being able to go deeper.

If that matters, for ABI32 I build with the following cmake defines:

    -DCMAKE_INSTALL_PREFIX=${PREFIX}
    -DCMAKE_INSTALL_LIBDIR=lib
    -DCMAKE_C_COMPILER_ARG1=-m32
    -DCMAKE_CXX_COMPILER_ARG1=-m32
    -DPORT=GTK
    -DCMAKE_BUILD_TYPE=Release
    -DENABLE_CREDENTIAL_STORAGE=OFF
    -DENABLE_GEOLOCATION=OFF

In particular, I have seen that the CMAKE_C[XX]_COMPILER_ARG1 defines
are essential for ABI32 build, but that doesn't prevent failure of the
WebKit2-4.0.gir target anyway.

I guess some fix should go into FindGObjectIntrospection.cmake, but
I'm not in the position to make any useful seggestion

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list