[Development] Developer build (was: 6 conflicting symbols between QtQuick 1 and 2)

Harri Porten porten at froglogic.com
Tue May 14 12:05:47 CEST 2013


On Tue, 7 May 2013, Koehne Kai wrote:

> Since apparently nobody has picked the ball up, I uploaded
>
> https://codereview.qt-project.org/#change,55521,patchset=5

We can confirm that the patch achieves the intended goal of namespacing 
the discussed symbols.

It's just that one should restrain from using developer builds. Those will 
have some internal classes like QSmoothedAnimation exported that can again 
cause a jump from one library to the other. See the (...) notes added to 
#7-12 of the following backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb52c0940 (LWP 7007)]
0xb75f83f8 in QListData::isEmpty (this=0x85f7f84)
     at ../../include/QtCore/../../src/corelib/tools/qlist.h:91
91          inline bool isEmpty() const { return d->end  == d->begin; }
(gdb) bt
#0  0xb75f83f8 in QListData::isEmpty (this=0x85f7f84)
     at ../../include/QtCore/../../src/corelib/tools/qlist.h:91
#1  0xb78305ad in QList<QObject*>::isEmpty (this=0x85f7f84)
     at ../../include/QtCore/../../src/corelib/tools/qlist.h:154
#2  0xb7826b7e in QObject::~QObject (this=0x85f7e84, __in_chrg=<optimized out>)
     at kernel/qobject.cpp:856
#3  0xb7836d9e in QTimer::~QTimer (this=0x85f7e84, __in_chrg=<optimized out>) at kernel/qtimer.cpp:154
#4  0xb6ba743a in QSmoothedAnimation::~QSmoothedAnimation (this=0x85f7de8, __in_chrg=<optimized out>) at /home/roy/qt/qt5/qtbase/include/QtDeclarative/5.1.0/QtDeclarative/private/../../../../../../qtquick1/src/declarative/util/qdeclarativesmoothedanimation_p_p.h:68
#5  0xb6ba748d in QSmoothedAnimation::~QSmoothedAnimation (this=0x85f7de8, __in_chrg=<optimized out>) at /home/roy/qt/qt5/qtbase/include/QtDeclarative/5.1.0/QtDeclarative/private/../../../../../../qtquick1/src/declarative/util/qdeclarativesmoothedanimation_p_p.h:68
#6  0xb49b6df7 in QAbstractAnimationJob::setState (this=0x85f7de8,
     newState=QAbstractAnimationJob::Running) at animations/qabstractanimationjob.cpp:344
#7  0xb49b7450 in QAbstractAnimationJob::start (this=0x85f7de8)
     at animations/qabstractanimationjob.cpp:486 (libQt5Qml)
#8  0xb6698fe9 in QSmoothedAnimation::restart (this=0x85f7de8) at util/qquicksmoothedanimation.cpp:115  (libQt5Quick.so)
#9  0xb67d94af in QQuickListViewPrivate::updateHighlight (this=0x85adb90)
     at items/qquicklistview.cpp:927
#10 0xb68269d5 in QQuickItemViewPrivate::updateCurrent (this=0x85b5820, modelIndex=0) at items/qquickitemview.cpp:1607 (libQt5Quick.so.5)
#11 0xb68259e0 in QQuickItemView::componentComplete (this=0x85b57c0) at items/qquickitemview.cpp:1406 (libQt5Quick.so)
#12 0xb486c519 in QQmlVME::complete (this=0x85d2694, interrupt=...) at qml/qqmlvme.cpp:1346 (libQt5Qml.so)

But the main goal has been reached to ensure a co-existance in deployed 
binaries. Having problems with a developer build is not nice but I assume 
that it's of lowered importance and may not warrant further symbol 
renaming.

Harri.



More information about the Development mailing list