Bug 35638
| Summary: | [Qt] Qt SDK rebuild with OpenSSL / MinGW fails at QWebKitd4.dll (QNetwork) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Tor Arne Vestbø <vestbo> |
| Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | Keywords: | Qt |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Other | ||
| OS: | OS X 10.5 | ||
Tor Arne Vestbø
This bug report originated from issue QTBUG-7117
http://bugreports.qt.nokia.com/browse/QTBUG-7117
--- Description ---
I was trying to build Qt 4.6.0 with OpenSSL support on a Win32 platform using the MinGW compiler.
<p>Many libraries compiled fine but at QWebKitd4.dll the compiler fails, I tried it serveral times with clean installation but still fails, I did not yet try the normal Qt Libraries, only SDK.</p>
<p>Qt Build configuration: configure.exe -debug-and-release -openssl -I C:\Development\OpenSSL\include -L C:\Development\OpenSSL\lib</p>
<p>The compiler returned the following: (seems to be a linking problem)</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">cd src\3rdparty\webkit\WebCore\ && mingw32-make
mingw32-make[1]: Entering directory `C:/Development/Qt/qt/src/3rdparty/webkit/We
bCore'
mingw32-make -f Makefile.Debug all
mingw32-make[2]: Entering directory `C:/Development/Qt/qt/src/3rdparty/webkit/We
bCore'
g++ -enable-stdcall-fixup -Wl,-enable-auto-<span class="code-keyword">import</span> -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:\Development\Qt\qt\lib\libQtWebKitd4
.a -o ..\..\..\..\lib\QtWebKitd4.dll object_script.QtWebKitd.Debug -L"c:\Develo
pment\Qt\qt\lib<span class="code-quote">" -L"</span>c:\Development\Qt\qt\lib" obj\debug\QtWebKitd_resource_res.o
-LC:\Development\OpenSSL\lib -lwinmm -lgdi32 -luser32 -lwinmm -ladvapi32 -lgdi3
2 -lshell32 -lshlwapi -luser32 -lversion -lphonond4 -lQtXmlPatternsd4 -lQtGuid4
-lQtNetworkd4 -lQtCored4
Creating library file: c:\Development\Qt\qt\lib\libQtWebKitd4.a
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x5a): undefi
ned reference to `vtable <span class="code-keyword">for</span> WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x12c): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x1f1): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x293): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x335): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x820): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::QNetworkReplyHandler'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0xa9e): undef
ined reference to `vtable <span class="code-keyword">for</span> WebCore::QNetworkReplyHandler'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0xd22): undef
ined reference to `WebCore::QNetworkReplyHandler::processQueuedItems()'
./obj\debug\FrameLoaderClientQt.o:FrameLoaderClientQt.cpp:(.text+0x314b): undefi
ned reference to `QWebPage::unsupportedContent(QNetworkReply*)'
./obj\debug\FrameLoaderClientQt.o:FrameLoaderClientQt.cpp:(.text+0x425e): undefi
ned reference to `QWebPage::downloadRequested(QNetworkRequest <span class="code-keyword">const</span>&)'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [..\..\..\..\lib\QtWebKitd4.dll] Error 1
mingw32-make[2]: Leaving directory `C:/Development/Qt/qt/src/3rdparty/webkit/Web
Core'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `C:/Development/Qt/qt/src/3rdparty/webkit/Web
Core'
mingw32-make: *** [sub-webkit-sub_src_target_ordered] Error 2</pre>
</div></div>
--- Comments ---
Qt Build Output
I disagree that this would be a Webkit specific bug. As it prevents me to compile Qt 4.6.0 with OpenSSL and prevents me to use it as such.
This is clearly a SDK bug as recompiling Qt 4.6.0 with OpenSSL works with the normal Qt 4.6.0 framework.
I have the exact same problem when trying to rebuild Qt with the MySQL plugin. The sequence of events is as follows:
1. I configure Qt using the following command:
configure -debug-and-release -opensource -I C:\PROGRA~1\MySQL\MYSQLS~1.1\include -L C:\PROGRA~1\MySQL\MYSQLS~1.1\lib\opt -l mysql -plugin-sql-mysql -plugin-sql-odbc -plugin-sql-sqlite -qt-libpng -qt-libjpeg
2. I build Qt using the following command:
mingw32-make
3. The build process (mingw32-make) fails with the following last messages:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\2009.05\qt\lib\libQtWebKitd4.a -o ..\..\..\..\lib\QtWebKitd4.dll object_script.QtWebKitd.Debug -L"c:\Qt\2009.05\qt\lib" -L"c:\Qt\2009.05\qt\lib" obj\debug\QtWebKitd_resource_res.o -LC:\PROGRA~1\MySQL\MYSQLS~1.1\lib\opt -lmysql -lwinmm -lgdi32 -luser32 -lwinmm -ladvapi32 -lgdi32 -lshell32 -lshlwapi -luser32 -lversion -lphonond4 -lQtXmlPatternsd4 -lQtGuid4 -lQtNetworkd4 -lQtCored4
Creating library file: c:\Qt\2009.05\qt\lib\libQtWebKitd4.a./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x5a): undefined reference to `vtable for WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x12c): undefined reference to `vtable for WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x1f1): undefined reference to `vtable for WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x293): undefined reference to `vtable for WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x335): undefined reference to `vtable for WebCore::FormDataIODevice'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0x820): undefined reference to `vtable for WebCore::QNetworkReplyHandler'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0xa9e): undefined reference to `vtable for WebCore::QNetworkReplyHandler'
./obj\debug\QNetworkReplyHandler.o:QNetworkReplyHandler.cpp:(.text+0xd22): undefined reference to `WebCore::QNetworkReplyHandler::processQueuedItems()'
./obj\debug\FrameLoaderClientQt.o:FrameLoaderClientQt.cpp:(.text+0x314b): undefined reference to `QWebPage::unsupportedContent(QNetworkReply*)'
./obj\debug\FrameLoaderClientQt.o:FrameLoaderClientQt.cpp:(.text+0x425e): undefined reference to `QWebPage::downloadRequested(QNetworkRequest const
&)'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [..\..\..\..\lib\QtWebKitd4.dll] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/2009.05/qt/src/3rdparty/webkit/WebCore'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/2009.05/qt/src/3rdparty/webkit/WebCore'
mingw32-make: *** [sub-webkit-make_default-ordered] Error 2
This is a problem with the SDK distribution of QT 4.6.0 containing temporary files that sit in the way of successful compilation.
This is also reported in #6014 and #6470.
The fix to have the build succeed completely is listed in a comment to the first of those two: http://bugreports.qt.nokia.com/browse/QTBUG-6014#action_103582
KR, Filip
–
http://blog.sysfs.net/
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Tor Arne Vestbø
Qt problem, not specific to WebKit.