Bug 83588

Summary: [Qt] [WK2] MiniBrowser fails on startup because of FilePicker
Product: WebKit Reporter: Andras Becsi <abecsi>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dinu.jacob, hausmann, jturcotte, kbalazs, ossy, tmpsantos
Priority: P3 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: All   
OS: Linux   

Andras Becsi
Reported 2012-04-10 09:43:53 PDT
When launching MiniBrowser the I get the following error: qrc:/qml/BrowserWindow.qml:316:34: Type FilePicker unavailable qrc:/qml/FilePicker.qml:22:1: plugin cannot be loaded for module "Qt.labs.folderlistmodel": Unknown error QObject::connect: Cannot connect (null)::pageTitleChanged(QString) to BrowserWindow::setWindowTitle(QString) QObject::connect: Cannot connect (null)::newWindow(QString) to BrowserWindow::newWindow(QString) Although the pluging seems to be in place in $QTDIR/imports/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so ldd $QTDIR/imports/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so linux-vdso.so.1 => (0x00007fffe19ff000) libQtQuick1.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtQuick1.so.5 (0x00007f34270ba000) libQtSql.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtSql.so.5 (0x00007f3426dc3000) libQtXmlPatterns.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtXmlPatterns.so.5 (0x00007f34268ee000) libQtWidgets.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtWidgets.so.5 (0x00007f3425e32000) libQtScript.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtScript.so.5 (0x00007f3425805000) libQtNetwork.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtNetwork.so.5 (0x00007f342544d000) libQtGui.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtGui.so.5 (0x00007f3424cd0000) libQtCore.so.5 => /home/abecsi/devel/git/qt5_build/qtbase/lib/libQtCore.so.5 (0x00007f34245ba000) libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f3424277000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f342405b000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f3423d57000) libm.so.6 => /lib/libm.so.6 (0x00007f3423a61000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f342384c000) libc.so.6 => /lib/libc.so.6 (0x00007f34234ab000) librt.so.1 => /lib/librt.so.1 (0x00007f34232a2000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f342308f000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f3422d54000) libpcre16.so.0 => /usr/lib/libpcre16.so.0 (0x00007f3422b01000) libdl.so.2 => /lib/libdl.so.2 (0x00007f34228fc000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f34226f7000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f3422402000) /lib/ld-linux-x86-64.so.2 (0x00007f34279ce000) libnvidia-tls.so.295.33 => /usr/lib/libnvidia-tls.so.295.33 (0x00007f34221fe000) libnvidia-glcore.so.295.33 => /usr/lib/libnvidia-glcore.so.295.33 (0x00007f341fedb000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f341fcbc000) libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f341fa62000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f341f85d000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f341f657000) This code was introduced in http://trac.webkit.org/changeset/111012.
Attachments
Dinu Jacob
Comment 1 2012-04-10 10:37:43 PDT
There is a folder with the same name under qtquick1/src/imports. It seems that the folderlistmodel lib that you have corresponds to the qquick1 (It should be the one from qtdeclarative/src/imports). What gets installed depends on the order in which QtQuick1 and QtQml components are installed. Installing the QtQml component again will fix it. The permanent fix to avoid depending on the order would be to have a different name for each of these plugins. Simon, is there any other solution?
Andras Becsi
Comment 2 2012-04-10 11:03:46 PDT
(In reply to comment #1) > There is a folder with the same name under qtquick1/src/imports. It seems that the folderlistmodel lib that you have corresponds to the qquick1 (It should be the one from qtdeclarative/src/imports). What gets installed depends on the order in which QtQuick1 and QtQml components are installed. Installing the QtQml component again will fix it. > > The permanent fix to avoid depending on the order would be to have a different name for each of these plugins. Simon, is there any other solution? Indeed it looks like building qtquick1 overwrites the qtquick2 folderlistmodel plugin. Since I do not use make install, but a shadow build, the solution for me was to clean $QTDIR/imports/Qt/labs/folderlistmodel and run make in the qtdeclarative shadow directory again which automatically copies the plugin to QTDIR. Since there is no separate QtQml module the order of build dependencies is always qtdeclarative, qtquick1, thus until this is not fixed in Qt qtquick1 will always overwrite the needed qtquick2 plugin, and the described workaround is needed.
Balazs Kelemen
Comment 3 2012-04-10 14:35:23 PDT
> Since there is no separate QtQml module the order of build dependencies is always qtdeclarative, qtquick1, thus until this is not fixed in Qt qtquick1 will always overwrite the needed qtquick2 plugin, and the described workaround is needed. I don't think that's true. You can build qtquick1 first and qtdeclarative after.
Thiago Marcos P. Santos
Comment 4 2012-04-13 05:09:13 PDT
People already reported the same issue at Qt bugtracker: https://bugreports.qt-project.org/browse/QTBUG-25191 Please vote. :)
Andras Becsi
Comment 5 2012-09-04 08:22:21 PDT
The issue has been fixed in the qtquick1 module.
Note You need to log in before you can comment on or make changes to this bug.