I'm trying to build the Qt port of WebKit under Fedora 11 x86_64 and I'm running into some strange linker errors.
I'm using the current SVN trunk code from http://svn.webkit.org/repository/webkit I have the following Qt RPM packages installed on my system: qt-4.5.3-7.fc11.x86_64 qt-4.5.3-7.fc11.i586 qt-devel-4.5.3-7.fc11.x86_64 I use the following command to initiate the build: QTDIR=/usr/lib64/qt4/ PATH=$QTDIR/bin:$PATH ./WebKitTools/Scripts/build-webkit --qt My build fails with the following messages: make[1]: Entering directory `/home/plouj/work/WebKit/WebKitBuild/Release/WebKit/qt/QtLauncher' /usr/lib64/qt4/bin/moc -DBUILDING_QT__=1 -DNDEBUG -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++ -I/home/plouj/work/WebKit/WebKit/qt/QtLauncher -I/usr/include/QtUiTools -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I/home/plouj/work/WebKit/WebKit/qt/Api -I/home/plouj/work/WebKit/WebKitBuild/Release/WebKit/qt/QtLauncher/. -I/home/plouj/work/WebKit/WebKit/qt/QtLauncher -I. /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp -o main.moc g++ -c -pipe -Wall -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_REENTRANT -DBUILDING_QT__=1 -DNDEBUG -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++ -I/home/plouj/work/WebKit/WebKit/qt/QtLauncher -I/usr/include/QtUiTools -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I/home/plouj/work/WebKit/WebKit/qt/Api -I/home/plouj/work/WebKit/WebKitBuild/Release/WebKit/qt/QtLauncher/. -I/home/plouj/work/WebKit/WebKit/qt/QtLauncher -I. -o main.o /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp g++ -Wl,-O1 -Wl,-rpath,/home/plouj/work/WebKit/WebKitBuild/Release/lib -o ../../../bin/QtLauncher main.o -L/home/plouj/work/WebKit/WebKitBuild/Release/lib -lQtWebKit -lQtXml -lQtGui -lQtNetwork -lQtCore -lQtUiTools -lpthread main.o: In function `WebPage::createPlugin(QString const&, QUrl const&, QStringList const&, QStringList const&)': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:416: undefined reference to `QWebPage::view() const' main.o: In function `MainWindow::loadFinished()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:161: undefined reference to `QWebView::url() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:167: undefined reference to `QWebView::url() const' main.o: In function `MainWindow::zoomOut()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:200: undefined reference to `QWebView::setZoomFactor(double)' main.o: In function `MainWindow::resetZoom()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:206: undefined reference to `QWebView::setZoomFactor(double)' main.o: In function `MainWindow::toggleZoomTextOnly(bool)': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:211: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:211: undefined reference to `QWebPage::settings() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:211: undefined reference to `QWebSettings::setAttribute(QWebSettings::WebAttribute, bool)' main.o: In function `MainWindow::dumpHtml()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:257: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:257: undefined reference to `QWebPage::mainFrame() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:257: undefined reference to `QWebFrame::toHtml() const' main.o: In function `MainWindow::setEditable(bool)': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:240: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:240: undefined reference to `QWebPage::setContentEditable(bool)' main.o: In function `MainWindow::webPage() const': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:141: undefined reference to `QWebView::page() const' main.o: In function `main': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:507: undefined reference to `QWebSettings::setMaximumPagesInCache(int)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:514: undefined reference to `QWebSettings::setObjectCacheCapacities(int, int, int)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:516: undefined reference to `QWebSettings::globalSettings()' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:516: undefined reference to `QWebSettings::setAttribute(QWebSettings::WebAttribute, bool)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:517: undefined reference to `QWebSettings::globalSettings()' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:517: undefined reference to `QWebSettings::setAttribute(QWebSettings::WebAttribute, bool)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:518: undefined reference to `QWebSettings::enablePersistentStorage(QString const&)' main.o: In function `URLLoader::loadNext()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:443: undefined reference to `QWebView::load(QUrl const&)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:443: undefined reference to `QWebView::load(QUrl const&)' main.o: In function `~WebPage': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:70: undefined reference to `QWebPage::~QWebPage()' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:70: undefined reference to `QWebPage::~QWebPage()' main.o: In function `MainWindow::setupUI()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:307: undefined reference to `QWebView::pageAction(QWebPage::WebAction) const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:308: undefined reference to `QWebView::pageAction(QWebPage::WebAction) const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:309: undefined reference to `QWebView::pageAction(QWebPage::WebAction) const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:310: undefined reference to `QWebView::pageAction(QWebPage::WebAction) const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:322: undefined reference to `QWebView::pageAction(QWebPage::WebAction) const' main.o:/home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:323: more undefined references to `QWebView::pageAction(QWebPage::WebAction) const' follow main.o: In function `URLLoader::loadNext()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:443: undefined reference to `QWebView::load(QUrl const&)' main.o: In function `MainWindow::selectElements()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:266: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:266: undefined reference to `QWebPage::mainFrame() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:266: undefined reference to `QWebFrame::findAllElements(QString const&) const' main.o: In function `QForeachContainer': /usr/include/QtCore/qglobal.h:2059: undefined reference to `QWebElementCollection::QWebElementCollection(QWebElementCollection const&)' main.o: In function `QWebElementCollection::constEnd() const': /home/plouj/work/WebKit/WebKit/qt/Api/qwebelement.h:221: undefined reference to `QWebElementCollection::count() const' main.o: In function `QWebElementCollection::const_iterator::operator*() const': /home/plouj/work/WebKit/WebKit/qt/Api/qwebelement.h:194: undefined reference to `QWebElementCollection::at(int) const' main.o: In function `MainWindow::selectElements()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:268: undefined reference to `QWebElement::setStyleProperty(QString const&, QString const&)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:268: undefined reference to `QWebElement::~QWebElement()' main.o: In function `~QForeachContainer': /usr/include/QtCore/qglobal.h:2057: undefined reference to `QWebElementCollection::~QWebElementCollection()' main.o: In function `MainWindow::selectElements()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:269: undefined reference to `QWebElementCollection::count() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:269: undefined reference to `QWebElementCollection::~QWebElementCollection()' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:269: undefined reference to `QWebElementCollection::~QWebElementCollection()' main.o: In function `QForeachContainer': /usr/include/QtCore/qglobal.h:2059: undefined reference to `QWebElementCollection::~QWebElementCollection()' main.o: In function `~QForeachContainer': /usr/include/QtCore/qglobal.h:2057: undefined reference to `QWebElementCollection::~QWebElementCollection()' main.o: In function `MainWindow::selectElements()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:268: undefined reference to `QWebElement::~QWebElement()' main.o: In function `MainWindow::changeLocation()': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:156: undefined reference to `QWebView::load(QUrl const&)' main.o: In function `MainWindow': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:97: undefined reference to `QWebView::QWebView(QWidget*)' main.o: In function `WebPage': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:72: undefined reference to `QWebPage::QWebPage(QObject*)' main.o: In function `MainWindow': /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:99: undefined reference to `QWebView::setPage(QWebPage*)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:105: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:106: undefined reference to `QWebView::page() const' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:108: undefined reference to `QWebInspector::QWebInspector(QWidget*)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:109: undefined reference to `QWebInspector::setPage(QWebPage*)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:130: undefined reference to `QWebView::load(QUrl const&)' /home/plouj/work/WebKit/WebKit/qt/QtLauncher/main.cpp:120: undefined reference to `QWebPage::networkAccessManager() const' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x10): undefined reference to `QWebPage::metaObject() const' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x18): undefined reference to `QWebPage::qt_metacast(char const*)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x20): undefined reference to `QWebPage::qt_metacall(QMetaObject::Call, int, void**)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x38): undefined reference to `QWebPage::event(QEvent*)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x70): undefined reference to `QWebPage::triggerAction(QWebPage::WebAction, bool)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0x98): undefined reference to `QWebPage::acceptNavigationRequest(QWebFrame*, QNetworkRequest const&, QWebPage::NavigationType)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xa0): undefined reference to `QWebPage::chooseFile(QWebFrame*, QString const&)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xa8): undefined reference to `QWebPage::javaScriptAlert(QWebFrame*, QString const&)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xb0): undefined reference to `QWebPage::javaScriptConfirm(QWebFrame*, QString const&)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xb8): undefined reference to `QWebPage::javaScriptPrompt(QWebFrame*, QString const&, QString const&, QString*)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xc0): undefined reference to `QWebPage::javaScriptConsoleMessage(QString const&, int, QString const&)' main.o:(.rodata._ZTV7WebPage[vtable for WebPage]+0xc8): undefined reference to `QWebPage::userAgentForUrl(QUrl const&) const' main.o:(.rodata._ZTI7WebPage[typeinfo for WebPage]+0x10): undefined reference to `typeinfo for QWebPage' collect2: ld returned 1 exit status make[1]: *** [../../../bin/QtLauncher] Error 1 make[1]: Leaving directory `/home/plouj/work/WebKit/WebKitBuild/Release/WebKit/qt/QtLauncher' make: *** [sub-WebKit-qt-QtLauncher-make_default-ordered] Error 2 I noticed that I don't see those symbols in libQtWebKit.so according to this command: nm WebKitBuild/Release/lib/libQtWebKit.so.4.5.3 |grep QWeb Has anyone experienced and solved this problem? My guess is that necessary linker flags are not being added somewhere. Where should I look to check this? I'm not familiar with the build system. -- http://plouj.com/ _______________________________________________ webkit-qt mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
