[webkit-gtk] Building 2.4.9 on OS X

Philippe Normand philn at igalia.com
Wed Dec 9 03:24:28 PST 2015


I haven’t checked the formula thoroughly but I can already report that:

- there is no need to depend on gstreamermm to enable video/webaudio support because WebKit doesn’t rely on gstreamermm but directly depends on streamer (C API) for these features
- the FFTFrame changes are wrong

I suggest you to either try a recent snapshot of current SVN trunk or to wait the next unstable release because quite a few patches improving (I hope) the OSX build situation have recently landed in SVN trunk.

Philippe

> On 09 Dec 2015, at 12:13, Erik Allik <eallik at gmail.com> wrote:
> 
> 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 <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 <http://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 <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 <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
> _______________________________________________
> webkit-gtk mailing list
> webkit-gtk at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-gtk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20151209/482039ca/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20151209/482039ca/attachment-0001.sig>


More information about the webkit-gtk mailing list