[webkit-gtk] Building 2.4.9 on OS X

Erik Allik eallik at gmail.com
Wed Dec 9 03:13:49 PST 2015


Hi!

I recently stumbled upon the need to build webkitgtk-2.4.9 on OS X (as that
is the last version with which the Cabal package webkitgtk3 seems to build
with). There was only 2.10.4 in Homebrew, however there was a working 2.4.9
in MacPorts. The MacPorts version however uses a version of iconv which
prevents me from compiling Homebrew stuff against the that webkitgtk-2.4.9,
so I ended up developing a Homebrew webkitgtk-2.4.9 formula.

I've gotten past most obstacles; I'm applying all but one (seemingly
irrelevant) patch from the port, and using the same or almost the same
flags for configuring and building, but I'm not entirely sure everything's
as it's supposed to be. In any case, when calling `make install` or `make
V=1` (the macport seems to call `gmake V=1`, but the `make` on my system
already seems to be GNU's), after quite a bit of waiting I get:

==> Downloading http://webkitgtk.org/releases/webkitgtk-2.4.9.tar.xz

Already downloaded: /Library/Caches/Homebrew/webkitgtk249-2.4.9.tar.xz

==> Patching

patching file Source/WebCore/platform/text/TextCodecUTF8.h

patching file Source/WTF/wtf/Assertions.h

patching file Source/WebCore/platform/audio/FFTFrame.h

patching file Source/WTF/wtf/FastMalloc.cpp

patching file Source/WTF/wtf/Platform.h

patching file Source/JavaScriptCore/GNUmakefile.am

patching file Source/autotools/FindDependencies.m4

Hunk #1 succeeded at 104 with fuzz 2 (offset -4 lines).

patching file Source/WebCore/plugins/PluginView.cpp

patching file Source/WebCore/plugins/PluginView.h

patching file Source/WebCore/GNUmakefile.list.am

patching file Source/JavaScriptCore/API/JSBasePrivate.h

patching file Source/JavaScriptCore/API/JSContextRef.h

patching file Source/JavaScriptCore/API/JSContextRefPrivate.h

patching file Source/JavaScriptCore/API/JSObjectRef.h

patching file Source/JavaScriptCore/API/JSValueRef.h

patching file Source/JavaScriptCore/offlineasm/offsets.rb

Hunk #1 succeeded at 108 with fuzz 1 (offset -1 lines).

-ftemplate-depth=256

-ftemplate-depth=256 -Wno-c++11-extensions

==> ./configure --enable-dependency-tracking --disable-webkit2 --enable-svg
--disable-geolocation --disable-jit --enable-x11-target=no
--enable-quartz-target=yes --enable-wayland-target=no
--enable-introspection --prefix=/usr/local/Cellar/webkitgtk249/2.4.9
--disable-webgl --disable-web-audio --disable-video

==> make V=1

Last 15 lines from /Users/erik/Library/Logs/Homebrew/webkitgtk249/02.make:

Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp:103:44:
error: cannot initialize a parameter of type 'WebCore::GraphicsLayerClient
*' with an rvalue of type 'WebKit::AcceleratedCompositingContext *'

    m_rootLayer = GraphicsLayer::create(0, this);

                                           ^~~~

./Source/WebCore/platform/graphics/GraphicsLayer.h:231:93: note: passing
argument to parameter here

    static std::unique_ptr<GraphicsLayer> create(GraphicsLayerFactory*,
GraphicsLayerClient*);


                ^

Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp:108:60:
error: cannot initialize a parameter of type 'WebCore::GraphicsLayerClient
*' with an rvalue of type 'WebKit::AcceleratedCompositingContext *'

    m_nonCompositedContentLayer = GraphicsLayer::create(0, this);

                                                           ^~~~

./Source/WebCore/platform/graphics/GraphicsLayer.h:231:93: note: passing
argument to parameter here

    static std::unique_ptr<GraphicsLayer> create(GraphicsLayerFactory*,
GraphicsLayerClient*);


                ^

4 errors generated.

make[1]: ***
[Source/WebKit/gtk/WebCoreSupport/libwebkitgtk_3_0_la-AcceleratedCompositingContextGL.lo]
Error 1

make: *** [all] Error 2

If there's anyone on this mailing list that could potentially help me
diagnose and solve the issue, that would be really appreciated!

The Homebrew formula I'm developing can be seen here; the code should be
self-explanatory:
* http://lpaste.net/8783617611091935232

The MacPorts port I'm basing off of is here; the Tcl code is slightly hard
to read for anyone not used to Tcl (incl. myself) but it should give an
idea of a successful compilation of webkitgtk-2.4.9 can be achieved on OS X:
*
https://svn.macports.org/repository/macports/trunk/dports/www/webkit-gtk/Portfile

— I'm really not seeing what I'm missing; there must be something in the
Portfile that is causing the compilation to succeed there, and not in my
formula, but it's not something obvious to me.

Best regards,
Erik Allik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20151209/b0f95b0c/attachment.html>


More information about the webkit-gtk mailing list