Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

PyQt5 +Yocto/Boot2qt fails to build - requires sip 4.19.19?



  • Hello all,

    I'm a commercial licensee and I've been building Qt/Device Creation images (boot2qt) for a Toradex Colibri iMX7 module. The v5.15.0 manifests are working fine until I try to pull PyQt5 into the build.

    I'm adding PyQt5 by appending this to my local.conf:

    CORE_IMAGE_EXTRA_INSTALL += "python3-pyqt5"
    

    The build proceeds until it tries to build PyQt5, which results in this error:

    | Querying qmake about your Qt installation...
    | Reading configuration from
    | /lkoziarz/qt-fifteen/build-colibri-imx7/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/python3-pyqt5/5.13.2-r0/PyQt5-5.13.2/pyqt.cfg...
    | This is the GPL version of PyQt 5.13.2 (licensed under the GNU General Public
    | License) for Python 3.7.6 on linux.
    |
    | Type 'L' to view the license.
    | Type 'yes' to accept the terms of the license.
    | Type 'no' to decline the terms of the license.
    |
    | Do you accept the terms of the license? Error: This version of PyQt5 requires sip 4.19.19 or later.
    
    

    For reference, here is my build configuration:

    Build Configuration:
    BB_VERSION           = "1.44.0"
    BUILD_SYS            = "x86_64-linux"
    NATIVELSBSTRING      = "universal"
    TARGET_SYS           = "arm-poky-linux-gnueabi"
    MACHINE              = "colibri-imx7"
    DISTRO               = "b2qt"
    DISTRO_VERSION       = "3.0.2"
    TUNE_FEATURES        = "arm vfp cortexa7 neon thumb callconvention-hard"
    TARGET_FPU           = "hard"
    SDKMACHINE           = "x86_64"
    meta
    meta-poky            = "HEAD:5e1f52edb7a9f790fb6cb5d96502f3690267c1b1"
    meta-freescale       = "HEAD:e9d075e2e1084538a8f7e233f7982507213540e7"
    meta-freescale-3rdparty = "HEAD:076c3132bb244b73c0f54b698d64c48b1ffbb58f"
    meta-toradex-bsp-common = "HEAD:fbd77af45f32e88e96d0efe0317d346a55e5580a"
    meta-toradex-nxp     = "HEAD:e5049a9c1bf8575beec0d7aab06f5d9cc7093283"
    meta-oe
    meta-python
    meta-networking
    meta-initramfs
    meta-multimedia      = "HEAD:9e60d30669a2ad0598e9abf0cd15ee06b523986b"
    meta-python2         = "HEAD:4400f9155ec193d028208cf0c66aeed2ba2b00ab"
    meta-boot2qt
    meta-boot2qt-distro  = "HEAD:87aa841d608cf852963baae808019b0a6961d15c"
    meta-mingw           = "HEAD:756963cc28ebc163df7d7f4b4ee004c18d3d3260"
    meta-qt5             = "HEAD:710f5bcf4c4ffc4bb32dc0da523e7307909b8f6b"
    

    The version of sip3 fetched in /meta-openembedded/meta-oe/recipes-devtools/sip/ is 4.19.16. I've looked for where the sip3 bb file references {$PV} but can't seem to locate it in /sources.

    Can someone advise if this is a broken build, or if I need to add some other local dependency or recipe to make the build complete? Or can I patch $PV to get up to 4.19.19? Thanks in advance.



  • An update: I figured out the $PV macro and, of course, it was coming from the .bb filename itself. Changing the md5 and checksum to match Riverbank's 4.19.19 resulted in a working build.

    So that means meta-qt5 is broken for 5.15.0 for PyQt5. Looks like this issue also came up with the meta-qt4 layer:

    https://www.yoctoproject.org/pipermail/yocto/2018-November/043479.html

    So, is this a bug that should be reported?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Since this results in a broken build, I would say yes.



  • Unfortunately the PySide2 folk informed me that PyQt5 is not a Qt product but a Riverbank product.

    I've been confused by Qt supporting both projects simultaneously and, it turns out, Qt for Python isn't integrated into Qt Device Creation.

    I'm pelted with Qt marketing material saying Qt for Python is a 1st class citizen. I guess embedded is second class now.


Log in to reply