[PyQt] Error while installing PyQtMobility 1.0 on Ubuntu 10.10

Phil Thompson phil at riverbankcomputing.com
Tue Apr 19 19:23:59 BST 2011


On Tue, 19 Apr 2011 16:46:47 +0100, David Boddie <david at boddie.org.uk>
wrote:
> On Tue Apr 19 08:06:05 BST 2011, Phil Thompson wrote:
> 
>> Can you try with the current SIP snapshot.
> 
> OK, the code generation appears to work with the latest SIP snapshot and
> PyQtMobility 1.0, building against Qt Mobility 1.1.1. However, I
encounter
> the following error when building the QtLocation module:
> 
> make[1]: Entering directory 
> `/home/dboddie/Software/PyQtMobility-gpl-1.0/QtLocation'
> g++ -c -pipe -fPIC -O2 -Wall -W -D_REENTRANT -DNDEBUG
> -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_CORE_LIB
> -DQT_GUI_LIB -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtMobility
> -I/usr/local/Trolltech/Qt-4.7.2/include/QtLocation
> -I/usr/local/Trolltech/Qt-4.7.2/include/python2.7
> -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/default
> -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore
> -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui
> -I/usr/local/Trolltech/Qt-4.7.2/include -I/usr/X11R6/include -o 
> sipQtLocationQList0100QGeoRouteRequestFeatureType.o 
> sipQtLocationQList0100QGeoRouteRequestFeatureType.cpp
> In file included 
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qmetatype.h:45,
>                  
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/QMetaType:1,
>                  from sipAPIQtLocation.h:27,
>                  from 
> sipQtLocationQList0100QGeoRouteRequestFeatureType.cpp:21:
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qglobal.h: In instantiation

> of ‘QTypeInfo<QtMobility::QGeoCoordinate>’:
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:417:   instantiated

> from ‘void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*)
[with
> T 
> = QtMobility::QGeoCoordinate]’
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:742:   instantiated

> from ‘void QList<T>::free(QListData::Data*) [with T = 
> QtMobility::QGeoCoordinate]’
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:717:   instantiated

> from ‘QList<T>::~QList() [with T = QtMobility::QGeoCoordinate]’
> /usr/local/Trolltech/Qt-4.7.2/include/QtLocation/qgeorouterequest.h:113:
 
> instantiated from here
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qglobal.h:1986: error:
> invalid 
> application of ‘sizeof’ to incomplete type ‘QtMobility::QGeoCoordinate’ 
> In file included 
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qobject.h:50,
>                  
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qiodevice.h:46,
>                  
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qdatastream.h:46,
>                  
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qmetatype.h:49,
>                  
> from /usr/local/Trolltech/Qt-4.7.2/include/QtCore/QMetaType:1,
>                  from sipAPIQtLocation.h:27,
>                  from 
> sipQtLocationQList0100QGeoRouteRequestFeatureType.cpp:21:
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h: In member function
> ‘void 
> QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = 
> QtMobility::QGeoCoordinate]’:
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:742:   instantiated

> from ‘void QList<T>::free(QListData::Data*) [with T = 
> QtMobility::QGeoCoordinate]’
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:717:   instantiated

> from ‘QList<T>::~QList() [with T = QtMobility::QGeoCoordinate]’
> /usr/local/Trolltech/Qt-4.7.2/include/QtLocation/qgeorouterequest.h:113:
 
> instantiated from here
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:418: warning:
> possible 
> problem detected in invocation of delete operator:
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:418: warning:
invalid
> use 
> of incomplete type ‘struct QtMobility::QGeoCoordinate’
> /usr/local/Trolltech/Qt-4.7.2/include/QtLocation/qgeorouterequest.h:55: 
> warning: forward declaration of ‘struct QtMobility::QGeoCoordinate’
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:418: note: neither
> the 
> destructor nor the class-specific operator delete will be called, even
if 
> they are declared when the class is defined.
> /usr/local/Trolltech/Qt-4.7.2/include/QtCore/qlist.h:420: error: invalid
> use 
> of incomplete type ‘struct QtMobility::QGeoCoordinate’
> /usr/local/Trolltech/Qt-4.7.2/include/QtLocation/qgeorouterequest.h:55:
> error: 
> forward declaration of ‘struct QtMobility::QGeoCoordinate’
> make[1]: *** [sipQtLocationQList0100QGeoRouteRequestFeatureType.o] Error
1
> make[1]: Leaving directory 
> `/home/dboddie/Software/PyQtMobility-gpl-1.0/QtLocation'
> make: *** [all] Error 2
> 
> Previously, I've worked around this by "fixing" the qgeorouterequest.h
> header file, but one of the Qt Mobility developers suggested that the
> failure
> wasn't a Qt Mobility issue.

Should now be fixed in the current snapshot, but you'll also need
tonight's PyQt snapshot.

Phil


More information about the PyQt mailing list