Bug 103491
Summary: | [Qt] Mingw build fails when linking libQt5WebKitWidgets | ||
---|---|---|---|
Product: | WebKit | Reporter: | Kai Koehne <kai.koehne> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Major | CC: | hausmann, net147, pierre.rossi, pikachu17997, zeno |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows 7 |
Kai Koehne
Compiliation of qtwebkit (git://gitorious.org/qtwebkit/qt5-module.git commit 01485457c9a5da3f1121015afd25bb53af77662e) with MinGW-builds-32-4.7.2-win32-sjlj-rev1 fails when linking Qt5WebKitWidgets:
g++ -shared -Wl,--out-implib,..\lib\libQt5WebKitWidgetsd.a -o ..\lib\Qt5WebKitWidgetsd.dll -lglu32 -lopengl32 -lgdi32 -luser32 -LD:\dev\icu-49\dist\mingw-builds-32\lib -LD:\dev\openssl-1.0.1c\dist\mingw-builds-32\lib -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Widgetsd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored obj\debug\Qt5WebKitWidgetsd_resource_res.o -Wl,-whole-archive -lWebKitWidgetsd -Wl,-no-whole-archive -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug -Wl,-whole-archive -lWebKit1d -lglu32 -lopengl32 -lgdi32 -luser32 -LD:\dev\icu-49\dist\mingw-builds-32\lib -LD:\dev\openssl-1.0.1c\dist\mingw-builds-32\lib -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Multimediad -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Sqld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored -Wl,-no-whole-archive -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug -Wl,-whole-archive -lWebCored -Wl,-no-whole-archive -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug -ladvapi32 -lgdi32 -lshell32 -lshlwapi -luser32 -lversion -lgdi32 -lole32 -luser32 -Wl,-whole-archive -lJavaScriptCored -Wl,-no-whole-archive -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug -lwinmm -Wl,-whole-archive -lWTFd -Wl,-no-whole-archive -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WTF/debug -licuin -licuuc -licudt -lwinmm -lgdi32 -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Quickd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5MultimediaWidgetsd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5PrintSupportd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Qmld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Multimediad -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Widgetsd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Sqld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d002688.o):(.text+0x0): multiple definition of `QAccessibleInterface::interface_cast(QAccessible::InterfaceType)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebviewaccessible.o):qwebviewaccessible.cpp:(.text$_ZN20QAccessibleInterface14interface_castEN11QAccessible13InterfaceTypeE[__ZN20QAccessibleInterface14interface_castEN11QAccessible13InterfaceTypeE]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d005037.o):(.text+0x0): multiple definition of `QCharRef::operator QChar() const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKit1d.a(qhttpheader.o):qhttpheader.cpp:(.text$_ZNK8QCharRefcv5QCharEv[__ZNK8QCharRefcv5QCharEv]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d004906.o):(.text+0x0): multiple definition of `QPointF::toPoint() const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.text$_ZNK7QPointF7toPointEv[__ZNK7QPointF7toPointEv]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d003700.o):(.text+0x0): multiple definition of `QByteArray::constData() const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKit1d.a(FrameLoaderClientQt.o):FrameLoaderClientQt.cpp:(.text$_ZNK10QByteArray9constDataEv[__ZNK10QByteArray9constDataEv]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d003281.o):(.text+0x0): multiple definition of `QBitArray::setBit(int)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.text$_ZN9QBitArray6setBitEi[__ZN9QBitArray6setBitEi]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d003045.o):(.text+0x0): multiple definition of `QString::operator=(QLatin1String)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.text$_ZN7QStringaSE13QLatin1String[__ZN7QStringaSE13QLatin1String]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d003043.o):(.text+0x0): multiple definition of `QString::~QString()'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.text$_ZN7QStringD1Ev[__ZN7QStringD1Ev]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d003032.o):(.text+0x0): multiple definition of `QString::QString(QString const&)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.text$_ZN7QStringC1ERKS_[__ZN7QStringC1ERKS_]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002715.o):(.text+0x0): multiple definition of `QDebug::operator<<(char const*)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.text$_ZN6QDebuglsEPKc[__ZN6QDebuglsEPKc]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d000426.o):(.text+0x0): multiple definition of `QByteArray::~QByteArray()'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.text$_ZN10QByteArrayD1Ev[__ZN10QByteArrayD1Ev]+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(MediaPlayerPrivateQt.o):MediaPlayerPrivateQt.cpp:(.text$_ZN8QPainter10drawPixmapERK5QRectRK7QPixmap[__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap]+0x0): multiple definition of `QPainter::drawPixmap(QRect const&, QPixmap const&)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004186.o):(.text+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):RenderThemeQtMobile.cpp:(.text$_ZNK6QRectF6toRectEv[__ZNK6QRectF6toRectEv]+0x0): multiple definition of `QRectF::toRect() const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d004788.o):(.text+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):RenderThemeQtMobile.cpp:(.text$_ZN8QPainter15drawRoundedRectERK5QRectddN2Qt8SizeModeE[__ZN8QPainter15drawRoundedRectERK5QRectddN2Qt8SizeModeE]+0x0): multiple definition of `QPainter::drawRoundedRect(QRect const&, double, double, Qt::SizeMode)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004235.o):(.text+0x0): first defined here
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o):qt_runtime.cpp:(.text$_ZN7QString10fromLatin1ERK10QByteArray[__ZN7QString10fromLatin1ERK10QByteArray]+0x0): multiple definition of `QString::fromLatin1(QByteArray const&)'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o):(.text+0x0): first defined here
Warning: resolving _cti_vm_throw by linking to @cti_vm_throw@4
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.rdata$_ZTI15QWebPagePrivate[__ZTI15QWebPagePrivate]+0x86f5936e1ed67584): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTI16QWebFramePrivate[__ZTI16QWebFramePrivate]+0xcc2215c012ae764): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTIN3JSC20StringSourceProviderE[__ZTIN3JSC20StringSourceProviderE]+0x8857004ab9cb5e8): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTIN3WTF10RefCountedIN3JSC14SourceProviderEEE[__ZTIN3WTF10RefCountedIN3JSC14SourceProviderEEE]+0x8857004ab9cb5db0): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):RenderThemeQtMobile.cpp:(.rdata$_ZTIN7WebCore19RenderThemeQtMobileE[__ZTIN7WebCore19RenderThemeQtMobileE]+0x354eb7b930b4f620): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):RenderThemeQtMobile.cpp:(.rdata$_ZTIN7WebCore18StylePainterMobileE[__ZTIN7WebCore18StylePainterMobileE]+0xd53adee4c2d3d848): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):RenderThemeQtMobile.cpp:(.rdata$_ZTIN7WebCore13RenderThemeQtE[__ZTIN7WebCore13RenderThemeQtE]+0xa9d6f726169ebfa0): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTIN3JSC14SourceProviderE[__ZTIN3JSC14SourceProviderE]+0xc2215c012ae72d88): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.rdata$_ZTI15QWebPageAdapter[__ZTI15QWebPageAdapter]+0xac9b70f6b3ab12a0): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.rdata$_ZTIN7WebCore17ContextMenuClientE[__ZTIN7WebCore17ContextMenuClientE]+0x5936e1ed67562538): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o):qwebpage.cpp:(.rdata$_ZTIN7WebCore10DragClientE[__ZTIN7WebCore10DragClientE]+0xb26dc3daceac4a68): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTI16QWebFrameAdapter[__ZTI16QWebFrameAdapter]+0x6110ae00957396c8): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTIN7WebCore11ScriptValueE[__ZTIN7WebCore11ScriptValueE]+0x8442b80255ce5af8): Cannot get section contents - auto-import exception
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebframe.o):qwebframe.cpp:(.rdata$_ZTIN3WTF14RefCountedBaseE[__ZTIN3WTF14RefCountedBaseE]+0x857004ab9cb5d9c0): Cannot get section contents - auto-import exception
c:/mingw-builds-32-4.7.2-win32-sjlj-rev1/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebKit/debug/libWebKitWidgetsd.a(qwebpage.o): bad reloc address 0x4 in section `.data'
collect2.exe: error: ld returned 1 exit status
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Kai Koehne
Release build is also affected with similar errors.
The "multiple definition" errors seem to all stem from inline methods in Qt5Core/Qt5Gui.
Kai Koehne
Some observations:
- Removing "-Wl,--whole-archive", "-Wl,--no-whole-archive" let the linker succeed (but the resulting dll is much too small)
- Adding -Wl,--allow-multiple-definition does result in new errors:
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(MediaPlayerPrivateQt.o): defined i
n discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d00
4186.o)
`__ZN8QPainter15drawRoundedRectERK5QRectddN2Qt8SizeModeE' referenced in section `.text' of D:/dev/qt
-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):
defined in discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5
Guid.a(d004235.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZN8QPainter15drawRoundedRectERK5QRectddN2Qt8SizeModeE' referenced in section `.text' of D:/dev/qt
-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):
defined in discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5
Guid.a(d004235.o)
`__ZN8QPainter15drawRoundedRectERK5QRectddN2Qt8SizeModeE' referenced in section `.text' of D:/dev/qt
-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o):
defined in discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5
Guid.a(d004235.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZNK6QRectF6toRectEv' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/q
twebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in discarded section `.te
xt' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d004788.o)
`__ZNK6QRectF6toRectEv' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/q
twebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in discarded section `.te
xt' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d004788.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZN8QPainter10drawPixmapERK5QRectRK7QPixmap' referenced in section `.text' of D:/dev/qt-5-sdk-ming
w-builds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(RenderThemeQtMobile.o): defined in
discarded section `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Guid.a(d004
186.o)
`__ZN7QString10fromLatin1ERK10QByteArray' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-bui
lds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o): defined in discarded sec
tion `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o)
`__ZN7QString10fromLatin1ERK10QByteArray' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-bui
lds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o): defined in discarded sec
tion `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o)
`__ZN7QString10fromLatin1ERK10QByteArray' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-bui
lds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o): defined in discarded sec
tion `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o)
`__ZN7QString10fromLatin1ERK10QByteArray' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-bui
lds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o): defined in discarded sec
tion `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o)
`__ZN7QString10fromLatin1ERK10QByteArray' referenced in section `.text' of D:/dev/qt-5-sdk-mingw-bui
lds-gcc-4.7.2-32/qtwebkit/Source/WebCore/debug/libWebCored.a(qt_runtime.o): defined in discarded sec
tion `.text' of D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib/libQt5Cored.a(d002946.o)
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug/libJavaScriptCored.a(
SymbolTable.o):SymbolTable.cpp:(.text+0x362): undefined reference to `JSC::JSCell::classInfo() const
'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug/libJavaScriptCored.a(
StructureChain.o):StructureChain.cpp:(.text+0x36): undefined reference to `JSC::JSCell::classInfo()
const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug/libJavaScriptCored.a(
StructureChain.o):StructureChain.cpp:(.text+0x7a): undefined reference to `JSC::JSCell::classInfo()
const'
D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug/libJavaScriptCored.a(
StructureChain.o):StructureChain.cpp:(.text+0x5c2): undefined reference to `JSC::JSCell::classInfo()
const'
c:/mingw-builds-32-4.7.2-win32-sjlj-rev1/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-
mingw32/bin/ld.exe: D:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtwebkit/Source/JavaScriptCore/debug/l
ibJavaScriptCored.a(StructureChain.o): bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status
Kai Koehne
Isn't it wrong that we link Qt5Core etc inside --whole-archive?
... -whole-archive -lWebKit1d -lglu32 -lopengl32 -lgdi32 -luser32 -LD:\dev\icu-49\dist\mingw-builds-32\lib -LD:\dev\openssl-1.0.1c\dist\mingw-builds-32\lib -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Multimediad -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Sqld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored -Wl,-no-whole-archive ...
Simon Hausmann
(In reply to comment #3)
> Isn't it wrong that we link Qt5Core etc inside --whole-archive?
>
> ... -whole-archive -lWebKit1d -lglu32 -lopengl32 -lgdi32 -luser32 -LD:\dev\icu-49\dist\mingw-builds-32\lib -LD:\dev\openssl-1.0.1c\dist\mingw-builds-32\lib -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Multimediad -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Sqld -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Networkd -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Guid -LD:/dev/qt-5-sdk-mingw-builds-gcc-4.7.2-32/qtbase/lib -lQt5Cored -Wl,-no-whole-archive ...
Yeah, it's bizzare, but maybe that is indeed where the bug is.
This is the function that "injects" the --whole-archive stuff:
defineTest(linkAgainstLibrary) {
unset(target)
target = $$1
unset(source_dir)
source_dir = $$2
library = $$lower($$target)
target = $$resolveFinalLibraryName($$target)
path = $$replace(source_dir, $${ROOT_WEBKIT_DIR}, $${ROOT_BUILD_DIR})/$$activeBuildConfig()
force_static_libs_as_shared {
LIBS += -L$${ROOT_BUILD_DIR}/lib -l$$target
} else {
mac {
LIBS += -Wl,-force_load,$${path}$${QMAKE_DIR_SEP}lib$${target}.a
} else:win32-msvc*|wince*|win32-icc {
LIBS += /OPT:REF -l$$target
} else {
LIBS += -Wl,-whole-archive -l$$target -Wl,-no-whole-archive
}
LIBS += -L$$path
win32-msvc*|wince*|win32-icc {
POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}$${target}.lib
} else {
POST_TARGETDEPS += $${path}$${QMAKE_DIR_SEP}lib$${target}.a
}
}
export(LIBS)
export(QMAKE_LIBDIR)
export(POST_TARGETDEPS)
export(CONFIG)
return(true)
}
What it _should_ do is end up with -Wl,-whole-archive -lWebCore -wl,-no-whole-archive for example, but for some reason maybe $target expands to more for you?
Can you do a qmake -d -d -d run maybe?
Jonathan Liu
This was resolved by https://bugs.webkit.org/show_bug.cgi?id=104436
Kai Koehne
*** This bug has been marked as a duplicate of bug 104436 ***