RESOLVED INVALID105091
Fix ANGLE multiple definition compile errors with MinGW-w64
https://bugs.webkit.org/show_bug.cgi?id=105091
Summary Fix ANGLE multiple definition compile errors with MinGW-w64
Jonathan Liu
Reported 2012-12-15 07:17:27 PST
mingw32-make -f Makefile.api.Debug all mingw32-make[3]: Entering directory 'C:/Work/git/qt5/qtwebkit/Source' g++ -shared -Wl,--out-implib,C:\Work\git\qt5\qtbase\lib\libQt5WebKitd.a -o C:\Work\git\qt5\qtbase\lib\Qt5WebKitd.dll obj/debug/qrc_WebCore.o obj/debug/qrc_WebKit.o obj/debug/qrc_InspectorBackendCommands.o -LC:\Qt\qt5_deps\icu\dist\lib -LC:\Qt\qt5_deps\openssl-1.0.1c\dist\lib -LC:\Qt\qt5_deps\icu\dist\lib -LC:\Qt\qt5_deps\openssl-1.0.1c\dist\lib -LC:/Work/git/qt5/qtbase/lib -lQt5Networkd -LC:/Work/git/qt5/qtbase/lib -lQt5Guid -LC:/Work/git/qt5/qtbase/lib -lQt5Cored -llibEGLd -llibGLESv2d -lgdi32 -luser32 obj\debug\Qt5WebKitd_resource_res.o -Wl,-whole-archive -lWebKit1d -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/WebKit/debug -Wl,-whole-archive -lWebKit2d -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/WebKit2/debug -Wl,-whole-archive -lWebCored -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/WebCore/debug -ladvapi32 -lgdi32 -lshell32 -lshlwapi -luser32 -lversion -llibEGL -llibGLESv2 -lgdi32 -luser32 -lgdi32 -lole32 -luser32 -Wl,-whole-archive -lANGLEd -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug -Wl,-whole-archive -lJavaScriptCored -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/JavaScriptCore/debug -lwinmm -Wl,-whole-archive -lWTFd -Wl,-no-whole-archive -LC:/Work/git/qt5/qtwebkit/Source/WTF/debug -licuin -licuuc -licudt -lwinmm -lgdi32 -LC:/Work/git/qt5/qtbase/lib -lQt5Quickd -LC:/Work/git/qt5/qtbase/lib -lQt5Multimediad -LC:/Work/git/qt5/qtbase/lib -lQt5Qmld -LC:/Work/git/qt5/qtbase/lib -lQt5Sqld -LC:/Work/git/qt5/qtbase/lib -lQt5Guid -LC:/Work/git/qt5/qtbase/lib -lQt5Networkd -LC:/Work/git/qt5/qtbase/lib -lQt5Cored C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x0): multiple definition of `ShInitialize' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000638.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x40): multiple definition of `ShInitBuiltInResources' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000637.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x90): multiple definition of `ShDestruct' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000630.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0xd0): multiple definition of `ShConstructCompiler' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000629.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x140): multiple definition of `ShCompile' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000628.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x1a0): multiple definition of `ShGetInfo' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000634.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x4f0): multiple definition of `ShGetInfoLog' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000635.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x530): multiple definition of `ShGetObjectCode' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000636.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x570): multiple definition of `ShGetActiveAttrib' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000632.o):(.text+0x0): first defined here C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o):ShaderLang.cpp:(.text+0x5d0): multiple definition of `ShGetActiveUniform' C:/Work/git/qt5/qtbase/lib/liblibGLESv2.a(d000633.o):(.text+0x0): first defined here c:/mingw64-4.7.2/bin/../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Work/git/qt5/qtwebkit/Source/ThirdParty/ANGLE/debug/libANGLEd.a(ShaderLang.o): bad reloc address 0x0 in section `.pdata' collect2.exe: error: ld returned 1 exit status Makefile.api.Debug:81: recipe for target 'C:\Work\git\qt5\qtbase\lib\Qt5WebKitd.dll' failed mingw32-make[3]: *** [C:\Work\git\qt5\qtbase\lib\Qt5WebKitd.dll] Error 1 mingw32-make[3]: Leaving directory 'C:/Work/git/qt5/qtwebkit/Source' Makefile.api:38: recipe for target 'debug-all' failed
Attachments
Patch (1014 bytes, patch)
2012-12-15 07:26 PST, Jonathan Liu
webkit-ews: commit-queue-
Patch (1015 bytes, patch)
2012-12-15 07:38 PST, Jonathan Liu
no flags
Patch (1022 bytes, patch)
2012-12-15 07:41 PST, Jonathan Liu
no flags
Jonathan Liu
Comment 1 2012-12-15 07:26:16 PST
Early Warning System Bot
Comment 2 2012-12-15 07:30:15 PST
Early Warning System Bot
Comment 3 2012-12-15 07:31:25 PST
Jonathan Liu
Comment 4 2012-12-15 07:38:44 PST
WebKit Review Bot
Comment 5 2012-12-15 07:40:18 PST
Attachment 179597 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'Source/api.pri']" exit_code: 1 ChangeLog:9: Line contains tab character. [whitespace/tab] [5] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Jonathan Liu
Comment 6 2012-12-15 07:41:31 PST
Jonathan Liu
Comment 7 2012-12-15 07:55:18 PST
The problem is that libGLESv2 is exporting too many symbols when compiled with MinGW-w64.
Simon Hausmann
Comment 8 2012-12-17 01:44:53 PST
Note You need to log in before you can comment on or make changes to this bug.