Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

[Solved] Error while compiling QtWebKit 2.2 with 3D canvas



  • Hi! I'm trying to build QtWebKit 2.2 with 3D canvas and support for WebGL for Qt Embedded against Qt 4.7.2. This is what I get:

    @../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In function void WTF::derefIfNotNull<WebCore::SharedGraphicsContext3D>(WebCore::SharedGraphicsContext3D*)': CanvasRenderingContext2D.cpp:(.text._ZN3WTF14derefIfNotNullIN7WebCore23SharedGraphicsContext3DEEEvPT_[void WTF::derefIfNotNull<WebCore::SharedGraphicsContext3D>(WebCore::SharedGraphicsContext3D*)]+0x20): undefined reference toWebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()'
    ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In function WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer() const': CanvasRenderingContext2D.cpp:(.text._ZNK7WebCore24CanvasRenderingContext2D22paintsIntoCanvasBufferEv+0xc): undefined reference toWebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer() const'
    ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In function WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation(WTF::String const&)': CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2D27setGlobalCompositeOperationERKN3WTF6StringE+0x7c): undefined reference toWebCore::SharedGraphicsContext3D::supportsCompositeOp(WebCore::CompositeOperator) const'
    CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2D27setGlobalCompositeOperationERKN3WTF6StringE+0x118): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In functionWebCore::CanvasRenderingContext2D::CanvasRenderingContext2D(WebCore::HTMLCanvasElement*, bool, bool)':
    CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2DC1EPNS_17HTMLCanvasElementEbb+0x1b8): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In functionWebCore::CanvasRenderingContext2D::CanvasRenderingContext2D(WebCore::HTMLCanvasElement*, bool, bool)':
    CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2DC2EPNS_17HTMLCanvasElementEbb+0x1b8): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In functionWebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D()':
    CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2DD1Ev+0x288): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o): In functionWebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D()':
    CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2DD2Ev+0x288): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' ../../WebCore/release/libwebcore.a(CanvasRenderingContext2D.o):CanvasRenderingContext2D.cpp:(.text._ZN7WebCore24CanvasRenderingContext2DD0Ev+0x290): more undefined references toWebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' follow
    ../../WebCore/release/libwebcore.a(Page.o): In function WebCore::Page::sharedGraphicsContext3D()': Page.cpp:(.text._ZN7WebCore4Page23sharedGraphicsContext3DEv+0x30): undefined reference toWebCore::SharedGraphicsContext3D::create(WebCore::HostWindow*, unsigned int)'
    Page.cpp:(.text._ZN7WebCore4Page23sharedGraphicsContext3DEv+0x8c): undefined reference to WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()' Page.cpp:(.text._ZN7WebCore4Page23sharedGraphicsContext3DEv+0xa4): undefined reference toWebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()'
    ../../WebCore/release/libwebcore.a(Page.o): In function WebCore::Page::~Page()': Page.cpp:(.text._ZN7WebCore4PageD1Ev+0x614): undefined reference toWebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()'
    ../../WebCore/release/libwebcore.a(Page.o): In function WebCore::Page::~Page()': Page.cpp:(.text._ZN7WebCore4PageD2Ev+0x780): undefined reference toWebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D()'
    collect2: ld returned 1 exit status
    make[1]: *** [../../lib/libQtWebKit.so.4.9.0] Error 1
    make[1]: Leaving directory `/home/luca/Qt/QtWebKit-2.2.0/WebKitBuild/Release/WebKit/qt'
    make: *** [sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2@

    Any idea why I'm getting this error? I found nothing around.
    Thanks!



  • Problem was not 3d canvas but the 2d accelerated canvas option, which is not supported. Problem solved.



  • Thanks for reporting back with your solution. Could you please mark your topic as solved by editing the title and adding a [Solved] tag to it? You can do that be clicking the small edit link next to the first posting in the topic.


Log in to reply