[webkit-gtk] Building 2.4.9 on OS X

Philippe Normand philn at igalia.com
Wed Dec 9 04:28:00 PST 2015

> On 09 Dec 2015, at 12:56, Erik Allik <eallik at gmail.com> wrote:
> Hi Philippe and thanks for pointing out the 2 issues!
> Last I checked it appeared audio/video did not compile without gstreamermm; the gstreamer package didn't provide any `.pc` files; as soon as I added `gstreamermm`, it started compiling. But audio/video had other issues, so as you can see, they are enabled conditionally, and in the run whose log I pasted, were not enabled anyway.
> I also disabled the FFTFrame patch, which you said was wrong, however the same compilation error still occurs. I'm now trying to monitor how the MacPorts port does the compilation, using `--verbose`, and possibly extract the right way and put that in the Homebrew formula.
> However, as pointed out in the initial e-mail, I cannot use anything newer than 2.4.9 as that's what's needed by the `webkitgtk3` Cabal package —

Sorry I can’t help you then.
Someone would need to back port the OSX build fixes in the next stable release.


> it imports header files not present in any version newer than 2.4.9. In fact, there's already a working brew formula for 2.10.4, as I said, but, again, it doesn't fit the needs of the `webkitgtk3` cabal pacakage...
> Any help and hints are still appreciated!
> Erik
> On Wed, Dec 9, 2015 at 1:24 PM Philippe Normand <philn at igalia.com <mailto:philn at igalia.com>> wrote:
> 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 <mailto: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 <mailto:webkit-gtk at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-gtk <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/788c7750/attachment.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/788c7750/attachment.sig>

More information about the webkit-gtk mailing list