Details
-
Bug
-
Resolution: Cannot Reproduce
-
Not Evaluated
-
4.8.0
-
None
-
System: linux (meego 1.2 pre-snapshot)
Description
NOTE: This issue can be reproduced by using the staging tree (http://gitorious.org/+qt-developers/qt/staging) and its qml-team/qtquick2 branch.
Trying to use particles in QML scene causes a symbol lookup error in libparticlesplugin.so, which in turn prevents the scene from loading. The attached, very simple QML file will trigger the following error when loaded with qmlscene:
file:///home/user/qtbug/main.qml:2:1: plugin cannot be loaded for module "Qt.labs.particles": Cannot load library /usr/local/Trolltech/Qt-4.8.0/imports/Qt/labs/particles/libqmlparticlesplugin.so: (/usr/local/Trolltech/Qt-4.8.0/imports/Qt/labs/particles/libqmlparticlesplugin.so: undefined symbol: _ZN18QSGVisualDataModel16staticMetaObjectE)
import Qt.labs.particles 2.0
LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.8.0/lib and "ldd qmlscene" shows that all libQt* libraries are looked up from this local path.
The symbol exists in libQtDeclarative, and nm shows it being in 'd' (initialised data) section. I tried to bisect the first commit where breakage appeared but unfortunately the intermediate steps were breaking for other errors. I do know that the error did not show up in March 11 revision 4e45452771988504d0886c6ee9c16f49f96cb2ae. However, since that time, the particles plugin has changed considerably.
As far as I understand, the symbol lookup comes from modelparticle.
{cpp,h}because that is the only location where QSGVisualDataModel is mentioned. In the above old commit, these files did not exist yet.