[PyQt] Cross compiling PyQt in OpenEmbedded with configure-ng.py
Phil Thompson
phil at riverbankcomputing.com
Fri Nov 21 15:40:17 GMT 2014
On 21/11/2014 3:29 pm, Philip Balister wrote:
> On 11/21/2014 09:48 AM, Phil Thompson wrote:
>> On 21/11/2014 2:42 pm, Philip Balister wrote:
>>> I'm trying to update the OE build of PyQt to 4.11.3 using the
>>> configure-ng.py method.
>>>
>>> The build fails with:
>>>
>>> |
>>> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQWidget.cpp:
>>>
>>> In function 'PyObject*
>>> meth_QWidget_setAccessibleDescription(PyObject*,
>>> PyObject*)':
>>> |
>>> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQWidget.cpp:3385:21:
>>>
>>> error: 'class QWidget' has no member named 'setAccessibleDescription'
>>> | sipCpp->setAccessibleDescription(*a0);
>>> | ^
>>> | make[1]: *** [sipQtGuiQWidget.o] Error 1
>>> | make[1]: Leaving directory
>>> `/home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui'
>>>
>>> | make: *** [sub-QtGui-make_default-ordered] Error 2
>>> | ERROR: oe_runmake failed
>>> | WARNING:
>>> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/temp/run.do_compile.1836:1
>>>
>>> exit 1 from
>>> | exit 1
>>>
>>>
>>> Here is the config file I made:
>>>
>>> [balister at thuvia build]$ cat
>>> tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/pyqt.cfg
>>>
>>>
>>> py_platform = linux
>>> py_inc_dir = %(sysroot)//usr/include/python%(py_major).%(py_minor)
>>> py_pylib_dir = %(sysroot)//usr/lib/python%(py_major).%(py_minor)
>>> py_pylib_lib = python%(py_major).%(py_minor)mu
>>> pyqt_module_dir = %(sysroot)//usr/lib/python%(py_major)/dist-packages
>>> pyqt_bin_dir = %(sysroot)//usr/bin
>>> pyqt_sip_dir = %(sysroot)//usr/share/sip/PyQt4
>>> pyuic_interpreter = /usr/bin/python%(py_major).%(py_minor)
>>> pyqt_disabled_features = PyQt_Desktop_OpenGL PyQt_qreal_double
>>> qt_shared = True
>>> [Qt 4.8]
>>> pyqt_modules = QtCore QtGui QtDeclarative QtNetwork QtSvg QtWebKit
>>>
>>> Configure is called with;
>>>
>>> python configure-ng.py --verbose --qmake
>>> ${STAGING_BINDIR_NATIVE}/qmake2 --configuration pyqt.cfg --sysroot
>>> ${STAGING_DIR_HOST}
>>>
>>> Do you have any suggestions for correcting this?
>>
>> Add PyQt_Accessibilty to pyqt_disabled_features.
>
> You meant PyQt_Accessibility :) Is there a good place to read about
> these features and how they interact?
The different features are defined in QtCoremod.sip. You need to disable
features that your Qt build doesn't support.
> This gets me to:
>
> | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb-interwork
> -mfloat-abi=hard -mfpu=neon
> --sysroot=/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300
> -c -pipe -O2 -pipe -g -feliminate-unused-debug-types
> -fvisibility-inlines-hidden -fno-exceptions -O2 -Wall -W -D_REENTRANT
> -fPIC -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG
> -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
> -I/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300/usr/share/qt4/mkspecs/linux-g++
> -I.
> -I/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300/usr/include/qt4/QtCore
> -I/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300/usr/include/qt4/QtGui
> -I/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300/usr/include/qt4
> -I.
> -I/home/balister/src/oe-core/build/tmp-glibc/sysroots/ettus-e300/usr/include/python2.7
> -I../qpy/QtGui -I. -o sipQtGuiQApplication.o sipQtGuiQApplication.cpp
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In member function 'void sipQApplication::saveState(QSessionManager&)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:377:9:
> error: 'saveState' is not a member of 'QApplication'
> | QApplication::saveState(a0);
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In member function 'void
> sipQApplication::commitData(QSessionManager&)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:395:9:
> error: 'commitData' is not a member of 'QApplication'
> | QApplication::commitData(a0);
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In function 'PyObject* meth_QApplication_isSessionRestored(PyObject*,
> PyObject*)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2027:30:
> error: 'const class QApplication' has no member named
> 'isSessionRestored'
> | sipRes = sipCpp->isSessionRestored();
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In function 'PyObject* meth_QApplication_sessionId(PyObject*,
> PyObject*)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2056:42:
> error: 'const class QApplication' has no member named 'sessionId'
> | sipRes = new QString(sipCpp->sessionId());
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In function 'PyObject* meth_QApplication_sessionKey(PyObject*,
> PyObject*)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2085:42:
> error: 'const class QApplication' has no member named 'sessionKey'
> | sipRes = new QString(sipCpp->sessionKey());
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In function 'PyObject* meth_QApplication_commitData(PyObject*,
> PyObject*)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2114:52:
> error: 'class QApplication' has no member named 'commitData'
> | (sipSelfWasArg ? sipCpp->QApplication::commitData(*a0) :
> sipCpp->commitData(*a0));
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2114:78:
> error: 'class QApplication' has no member named 'commitData'
> | (sipSelfWasArg ? sipCpp->QApplication::commitData(*a0) :
> sipCpp->commitData(*a0));
> |
> ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:
> In function 'PyObject* meth_QApplication_saveState(PyObject*,
> PyObject*)':
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2144:52:
> error: 'class QApplication' has no member named 'saveState'
> | (sipSelfWasArg ? sipCpp->QApplication::saveState(*a0) :
> sipCpp->saveState(*a0));
> | ^
> |
> /home/balister/src/oe-core/build/tmp-glibc/work/armv7ahf-vfp-neon-oe-linux-gnueabi/python-pyqt/4.11.3-r0/PyQt-x11-gpl-4.11.3/QtGui/sipQtGuiQApplication.cpp:2144:77:
> error: 'class QApplication' has no member named 'saveState'
> | (sipSelfWasArg ? sipCpp->QApplication::saveState(*a0) :
> sipCpp->saveState(*a0));
> |
> ^
> | make[1]: *** [sipQtGuiQApplication.o] Error 1
I think this is PyQt_SessionManager.
Phil
More information about the PyQt
mailing list