[webkit-qt] Building QtWebKit on Mac fails linking undefined CSSParser::lex

Dominic Cooney dominicc at chromium.org
Sun May 22 23:15:00 PDT 2011


OK! I have a build, but I believe Qt WebKit needs to take a patch to
make WebKit2 build on Mac: It is missing #include <QFont> in
Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp.

I suppose Linux gets the definition of QFont via this #ifdef/include:

#ifdef Q_WS_X11
#include <QX11Info>
#include <fontconfig/fontconfig.h>
#endif

However when I run layout tests, the web process crashes every time
with this assertion:

ASSERTION FAILED: !m_heap->globalData()->exclusiveThread ||
m_heap->globalData()->exclusiveThread == currentThread()
../../../Source/JavaScriptCore/heap/MachineStackMarker.cpp(203) : void
JSC::MachineThreads::addCurrentThread()

So perhaps Qt WebKit2 on Mac needs more TLC.

Dominic

On Mon, May 23, 2011 at 10:57 AM, Dominic Cooney <dominicc at chromium.org> wrote:
> Thanks for the advice and link to your bots! I guess for my bug I can
> just go back to building on Linux, although morbid curiosity makes me
> want to see this work on Mac… (I’m using Snow Leopard 10.6.7, BTW.)
>
> I did some digging and the problem is MacPorts flex (@2.5.35) doesn’t
> generate any output at this build step:
>
> flex -t < ../../../Source/WebCore/css/tokenizer.flex
>
> flex just writes 34 warnings to stderr like:
>
> <stdin>:116: warning, the character range [\200-\377] is ambiguous in
> a case-insensitive scanner
>
> These refer to any place {string} or {ident} are used. Thus there’s no
> YY_DECL, thus no int CSSParser::lex() that the linker is complaining
> about.
>
> The flex in /usr/bin/flex (also in 2.5.35, but I suppose supplied by
> Apple) doesn’t generate these warnings and does generate scads of
> flexy tables. Great.
>
> I will add a note to the wiki about this. Build is rolling along now…
> I’ll see how far it gets :)
>
> Thanks all for your help,
>
> Dominic
>
> On Fri, May 20, 2011 at 8:22 PM, Kenneth Rohde Christiansen
> <kenneth.christiansen at gmail.com> wrote:
>> The idea would be to use the *Mac classes for IPC etc instead of the
>> Qt/POSIX ones we used in the beginning
>>
>> Kenneth
>>
>> On Fri, May 20, 2011 at 1:21 PM, Kenneth Rohde Christiansen
>> <kenneth.christiansen at gmail.com> wrote:
>>> We did. In the beginning we at least had one developer only building
>>> on mac. It shouldn't be that difficult making it build there.
>>>
>>> Kenneth
>>>
>>> 2011/5/20 Osztrogonac Csaba <oszi at inf.u-szeged.hu>:
>>>> Hi,
>>>>
>>>> No, Qt Mac bot doesn't build WK2. WK2 build is disabled by default,
>>>> you have to add -2 option to build-webkit if you want to build it.
>>>>
>>>> I don't know if anyone tried to build WK2-QtWebKit on Mac ever.
>>>>
>>>> qt-wk2 platform is for "x86-32 Linux Qt Release WebKit2" buildbot
>>>> ( http://build.webkit.sed.hu/waterfall )
>>>>
>>>> br,
>>>> Ossy
>>>> University of Szeged
>>>>
>>>> Kenneth Rohde Christiansen írta:
>>>>>
>>>>> Is the buildbot building the WebKit2 API as well?
>>>>>
>>>>> Kenneth
>>>>>
>>>>> On Fri, May 20, 2011 at 12:23 PM, Alexis Menard
>>>>> <alexis.menard at openbossa.org> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Which Mac OS X version?
>>>>>>
>>>>>> I'm right now working on it, I can assure you it compiles.
>>>>>>
>>>>>> http://build.webkit.sed.hu/waterfall has a mac bot.
>>>>>>
>>>>>> Are you sure you are working on a clean build? WEBKITOUTPUTDIR=path
>>>>>> build-webkit ... can make sure you build in an other directory but I
>>>>>> guess you know.
>>>>>>
>>>>>> On Fri, May 20, 2011 at 4:40 AM, Dominic Cooney <dominicc at chromium.org>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hello WebKit-Qties,
>>>>>>>
>>>>>>> I am trying to build WebKit Qt on Mac to fix a test failure with skips
>>>>>>> in qt-mac and qt-wk2 (bug 59335), but I can't even get WebKit Qt to
>>>>>>> build! I was wondering if an experienced hand can help me debug my
>>>>>>> configuration so I can get rolling and debug this test failure.
>>>>>>>
>>>>>>> I'm following <http://trac.webkit.org/wiki/BuildingQtOnOSX> but
>>>>>>> Tools/Scripts/build-webkit --qt --makeargs="-j4" --no-video -spec
>>>>>>> macx-g++ fails with:
>>>>>>>
>>>>>>> Undefined symbols:
>>>>>>>  "WebCore::CSSParser::lex()", referenced from:
>>>>>>>     WebCore::CSSParser::lex(void*)in libwebcored.a(CSSParser.o)
>>>>>>>
>>>>>>> Incidentally build output includes a slew of warnings like
>>>>>>>
>>>>>>> ld: warning: WTF::RefPtr<WTF::StringImpl>::operator!() consthas
>>>>>>> different visibility (hidden) in
>>>>>>> ../../JavaScriptCore/debug/libjscored.a(JITArithmetic.o) and
>>>>>>> (default) in ../../WebCore/debug/libwebcored.a(SVGFECompositeElement.o)
>>>>>>>
>>>>>>> None of those warnings mention any symbols in the CSSParser class;
>>>>>>> however it does complain about the visibility of many symbols used by
>>>>>>> CSSParser.o (std:: and WTF:: stuff.)
>>>>>>>
>>>>>>> I'm near ToT (r86922) using qt4-mac @4.7.3 from MacPorts.
>>>>>>> BuildingQtOnOSX implies that there are problems compiling and linking
>>>>>>> CSSParser.cpp and merely re-running build-webkit will fix them; alas
>>>>>>> this does not work for me.
>>>>>>>
>>>>>>> I'm also curious... does qt-wk2 work on platforms other than the Mac?
>>>>>>
>>>>>> I believe we never really tried WebKit2 Qt port on Mac :D.
>>>>>>
>>>>>>> Because I have no problems building QtWebKit on Linux.
>>>>>>>
>>>>>>> Dominic
>>>>>>> _______________________________________________
>>>>>>> webkit-qt mailing list
>>>>>>> webkit-qt at lists.webkit.org
>>>>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Alexis Menard
>>>>>> Software Engineer
>>>>>> INdT Recife Brazil
>>>>>> _______________________________________________
>>>>>> webkit-qt mailing list
>>>>>> webkit-qt at lists.webkit.org
>>>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> webkit-qt mailing list
>>>> webkit-qt at lists.webkit.org
>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>>>>
>>>
>>>
>>>
>>> --
>>> Kenneth Rohde Christiansen
>>> Senior Engineer
>>> Application and Service Frameworks, Nokia Danmark A/S
>>> Phone  +45 4093 0598 / E-mail kenneth.christiansen at gmail.com
>>>
>>> http://codeposts.blogspot.com ﹆﹆﹆
>>>
>>
>>
>>
>> --
>> Kenneth Rohde Christiansen
>> Senior Engineer
>> Application and Service Frameworks, Nokia Danmark A/S
>> Phone  +45 4093 0598 / E-mail kenneth.christiansen at gmail.com
>>
>> http://codeposts.blogspot.com ﹆﹆﹆
>> _______________________________________________
>> webkit-qt mailing list
>> webkit-qt at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>>
>


More information about the webkit-qt mailing list