0

Our project is based on the meanwhile outdated yocto warrior, which was first modified by the vendor of our SoM. Then we integrated the FreeScale/NXP kernel into it because the mainline kernel did not support GPU functionality we needed.

It has been quite a ride to get this working, but now there is need to switch from qt 5.12 as included in our warrior to qt 5.15 (LTS). We want to avoid switching to a new yocto release, but only changing the checkout of the meta-qt5 layer leads to bitbake problems like

ERROR: ParseError at meta-qt5/recipes-qt/qt5/qtwebengine_git.bb:83: Could not inherit file classes/features_check.bbclass

and I expect this to be only the first of a series of incompatibilities, so I'm asking myself what would be the best approach to the problem.

Should I start my own meta-qt5 branch, changing the recipes to use qt 5.15.8 and only cherry-pick commits from current meta-qt5 branches?

Philippos
  • 13,237
  • 2
  • 37
  • 76

2 Answers2

1

I have the same issue at the moment (bsp based on warrior and I need the Qt 5.15.2) and these are what I've already tried and discovered:

  • There is a version of meta-qt5 with the 5.15 that is compatible with warrior. However this version uses classes and features that aren't available in the warrior (such as: features_check, mime-xdg and so fourth), so I don't get a logic how it should works.
  • The first yocto version that contains a feature set that required by the new meta-qt5 is dunfell, so I've tried to update other layers to revisions that are compatible with dunfell, but probably half of layers from my project don't provide version that are compatible with this yocto release.

So, in conclusion, what options do we have (or what I already know):

  • We can update layers(poky, meta-qt5 and other) that supports and compatible with newer release and port layers that don't do it manually;
  • (Warning: can be a bad idea) Exclude meta-qt5 from the project, build image and generate SDK and then cross-compile Qt from sources using cross-compile and rootfs from the project SDK.

I've not found other solutions yet. If you have already solved this problem or you still are trying to do it, please contact me on this email: [email protected]

P.S. I'm unable to comment questions on the SE due to a lack of reputation, so sorry for using answers section. If we'll find a solution with OP then I'll update answer with it.

svadym
  • 11
  • 3
  • »There is no known way to achieve this« is a sad, but valid answer in my eyes. My upvote should give you some reputation. I will update here as soon as we make any progress. – Philippos Mar 14 '22 at 07:52
  • Which Version do you mean? I see a commit https://code.qt.io/cgit/yocto/meta-qt5.git/commit/?h=upstream/jansa/master-5.15&id=5a328383122c7d82b096b1b090a850e14d6fa311 from 2019 claiming warrior compatibility, but this was back at Qt 5.12. Could it be they simply forgot to remove the compatibility flag? – Philippos Mar 14 '22 at 12:38
  • I meant [this tag/commit - upstream/jansa/master-5.15](https://code.qt.io/cgit/yocto/meta-qt5.git/commit/conf?h=upstream/jansa/master-5.15&id=00c9491b1024594b10b78a689a68e871ca57902c). If you'll open the 'tree' page and check a layer.conf then you should see: LAYERSERIES_COMPAT_qt5-layer = "sumo thud warrior zeus". However, as I said, the **'warrior'** doesn't contain required features in the poky layer and I think, there will be a lot other problems (as you also said). – svadym Mar 14 '22 at 12:49
  • @Philippos Also, I've just created [issue](https://github.com/meta-qt5/meta-qt5/issues/460) on the meta-qt5 GitHub page, so you can subscribe on it and maybe comment that you have noticed the same problem. Anyway, I'll let you know here about updates. – svadym Mar 14 '22 at 13:11
0

This post gives tutorial how to simply build your Qt version of choice outside the bitbake system, so it can be integrated into your yocto build. I just don't understand if this can be used along with recipes depending on Qt.

Currently, I neither have the urge to do so nor do I find the time to test. Once I reproduced it successfully, I might update and accept the answer.

Philippos
  • 13,237
  • 2
  • 37
  • 76