[webkit-qt] Failed to build QtWebKit with 3d-canvas enabled

Joseph Tsai mgtsai at gmail.com
Sun Mar 27 02:22:41 PDT 2011


Hello,

I want to build QtWebKit with WebGL support under Windows XP, and use
the following command:

----------
perl Tools\Scripts\build-webkit --qt --3d-canvas --release
----------

When making QtWebKit4.dll, it tells that there exists a lot of
undefined references, and all of them are OpenGL functions. (i.e.
glDeleteTextures at 8)

I've investigated the building process, and the strange thing is, the
command line making QtWebKit4.dll really contains an option:
-lopengl32, and libopengl32.a also contains the required symbols.
(i.e. glDeleteTextures at 8)

Did I miss something?

----------

OS: Windows XP
Qt SDK version: 4.7.1
WebKit trunk revision: 81886
Bug 56723 has been patched: https://bugs.webkit.org/show_bug.cgi?id=56723
Use MinGW to build QtWebKit (MinGW is embedded in Qt SDK)
Command line to build QtWebKit: perl Tools\Scripts\build-webkit --qt
--3d-canvas --release

The command for building QtWebKit4.dll:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import
-Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared
-Wl,--out-implib,e:\work\src.QtWebKit.Windows.r81886-WebGL\WebKitBuild\Release\lib\libQtWebKit4.a
-o ..\..\lib\QtWebKit4.dll object_script.QtWebKit.Release
-L"..\..\WebCore\release" -L"..\..\JavaScriptCore\release"
-L"e:\work\Qt\2010.05\qt\lib" -lglu32 -lopengl32 -lgdi32 -luser32
obj\release\QtWebKit_resource_res.o -lwebcore -ljscore -ladvapi32
-lgdi32 -lshell32 -lshlwapi -luser32 -lversion -lphonon4 -lgdi32
-lole32 -luser32 -lwinmm -lQtXmlPatterns4 -lQtOpenGL4 -lQtGui4
-lQtNetwork4 -lQtCore4
-------------- next part --------------
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,e:\work\src.QtWebKit.Windows.r81886-WebGL\WebKitBuild\Release\lib\libQtWebKit4.a -o ..\..\lib\QtWebKit4.dll object_script.QtWebKit.Release  -L"..\..\WebCore\release" -L"..\..\JavaScriptCore\release" -L"e:\work\Qt\2010.05\qt\lib" -lglu32 -lopengl32 -lgdi32 -luser32 obj\release\QtWebKit_resource_res.o -lwebcore -ljscore -ladvapi32 -lgdi32 -lshell32 -lshlwapi -luser32 -lversion -lphonon4 -lgdi32 -lole32 -luser32 -lwinmm -lQtXmlPatterns4 -lQtOpenGL4 -lQtGui4 -lQtNetwork4 -lQtCore4
Creating library file: e:\work\src.QtWebKit.Windows.r81886-WebGL\WebKitBuild\Release\lib\libQtWebKit4.a
e:/work/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: <unknown-file>:0: syntax error
Warning: .drectve `-export:T.5600 ' unrecognized
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x190a): undefined reference to `glDeleteTextures at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1945): undefined reference to `glGenTextures at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x19ae): undefined reference to `glTexSubImage2D at 36'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1a12): undefined reference to `glTexImage2D at 36'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1a50): undefined reference to `glGetTexParameteriv at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1a8c): undefined reference to `glGetTexParameterfv at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1ac1): undefined reference to `glGetIntegerv at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1af5): undefined reference to `glGetFloatv at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1b29): undefined reference to `glGetBooleanv at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1b6b): undefined reference to `glViewport at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1ba4): undefined reference to `glTexParameteri at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1be0): undefined reference to `glTexParameterf at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1c1c): undefined reference to `glStencilOp at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1c4a): undefined reference to `glStencilMask at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1c84): undefined reference to `glStencilFunc at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1cc7): undefined reference to `glScissor at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1d34): undefined reference to `glReadPixels at 28'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1d69): undefined reference to `glPolygonOffset at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1d9d): undefined reference to `glPixelStorei at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1dca): undefined reference to `glLineWidth at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1e05): undefined reference to `glIsTexture at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1e32): undefined reference to `glIsEnabled at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1e65): undefined reference to `glHint at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1e96): undefined reference to `glGetString at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1ed2): undefined reference to `glFrontFace at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1f46): undefined reference to `glEnable at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1f87): undefined reference to `glDrawElements at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1fc0): undefined reference to `glDrawArrays at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1fee): undefined reference to `glDisable at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2021): undefined reference to `glDepthRange at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2052): undefined reference to `glDepthMask at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x207e): undefined reference to `glDepthFunc at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x20aa): undefined reference to `glCullFace at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2107): undefined reference to `glCopyTexSubImage2D at 32'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2163): undefined reference to `glCopyTexImage2D at 32'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x21bc): undefined reference to `glColorMask at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x21ee): undefined reference to `glClearStencil at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x221a): undefined reference to `glClearDepth at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2246): undefined reference to `glClear at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2287): undefined reference to `glClearColor at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x22b9): undefined reference to `glBlendFunc at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x22ed): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x238e): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x23d5): undefined reference to `glTexImage2D at 36'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x23ec): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x24d1): undefined reference to `glClear at 4'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x26de): undefined reference to `glReadPixels at 28'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x55be): undefined reference to `glGenTextures at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x55d7): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x55f6): undefined reference to `glTexParameterf at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x5615): undefined reference to `glTexParameterf at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x5634): undefined reference to `glTexParameteri at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x5653): undefined reference to `glTexParameteri at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x56a2): undefined reference to `glTexImage2D at 36'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x56b9): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x57db): undefined reference to `glClearColor at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x8342): undefined reference to `glGenTextures at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x835b): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x837a): undefined reference to `glTexParameterf at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x8399): undefined reference to `glTexParameterf at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x83b8): undefined reference to `glTexParameteri at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x83d7): undefined reference to `glTexParameteri at 12'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x8426): undefined reference to `glTexImage2D at 36'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x843d): undefined reference to `glBindTexture at 8'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x855f): undefined reference to `glClearColor at 16'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1ef9): undefined reference to `glFlush at 0'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x1f1d): undefined reference to `glFinish at 0'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x24de): undefined reference to `glFlush at 0'
..\..\WebCore\release/libwebcore.a(GraphicsContext3DQt.o):GraphicsContext3DQt.cpp:(.text+0x2aff): undefined reference to `glGetError at 0'
collect2: ld returned 1 exit status


More information about the webkit-qt mailing list