This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3354: Qt version

Part Number: AM3354

Tool/software: Linux

Hello,

Thank you for your kind support whenever we need.


Currently we are using AM3354 specific custom board with Processor SDK 03.03. This has QT 5.6 by default.
However we need QT 5.8 or later version with QT Wayland support for our application.

Hence, we are planning to upgrade the SDK to 04.02 (the latest one).
Can you kindly provide below information:


1) Which QT version (is it >5.8) will be available with latest SDK 04.02 ?

2) Will QTWayland (https:// wiki.qt.io/QtWayland)be part of the default QT library present with this latest SDK 04.02 ?

3) Is it possible to get QT 5.8 with QTWayland in older SDK 03.03 itself ?

Thanks,

Biplab

  • Hello,

    The current QT version is 5.7.1 in PSDK 4.02. Please check the release notes of more information:
    processors.wiki.ti.com/.../Processor_SDK_Linux_Release_Notes
    I would recommend you to check these links also:
    processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display
    e2e.ti.com/.../2326045
    e2e.ti.com/.../663094

    Hope this helps.

    BR
    Margarita
  • Yes Margarita..
    I have downloaded the latest TI SDK 04.02 and observed QT version is 5.7

    However, can you please guide me to achieve below:
    1) Is it possible to get QT 5.8 with QTWayland in older SDK 03.03 itself ?
    2) Is it possible to get QT 5.8 with QTWayland in latest SDK 04.02 ? (Might be using yocto for QT but for root filesystem, I will use targetNFS provided in TI SDK)

    I want to try this in TI AM335x EVK itself (instead of our custom board)
  • Hello,

    It seems that you could change meta-qt5 version in /.../tisdk/configs/processor-sdk/processor-sdk-04.02.00.09-config.txt file.
    You should execute :
    1.git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
    2.cd tisdk
    3./here you should change this line: meta-qt5,git://github.com/meta-qt5/meta-qt5.git,morty,2c9f0e4eb0e9097f6f872ec1e1d81768a8ab5f1b,layers=
    refer this link for the qt versions etc:
    github.com/.../meta-qt5
    4. ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-04.02.00.09-config.txt
    5. Check processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK for the other steps.

    Note: Probably you should resolve some dependency issues or may not.
    Keep in mind that in PSDK 4.2 we support qt5.7 so any other QT version change may cause changes in behavior.
    One more note please check this answer in this thread:
    e2e.ti.com/.../2442034

    Hope this helps.
    Please if there is a need I will consult with the experts also. Just let me know.

    Best Regards,
    Margarita
  • HI Margarita,

    I observed that the default QT version is same for SDK03.03 (kernel 4.4.41)     and     SDK04.02 (kernel 4.9.59).

    I got the QT version when I run the app in evaluation kit with default Linux image of SDK04.02.

    Am I doing anything wrong ?

    Please find attached images for both the SDKs.

    Also can you please suggest how to build only QT (instead of arago-core-tisdk-image) using Yocto ?

    SDK 04.04 -->

    SDK 03.03 -->

    Thanks a lot for your kind support.

    -Biplab

  • Hello,

    I am not very sure what you are running to check qt version but please check the release notes.
    processors.wiki.ti.com/.../Processor_SDK_Linux_Release_Notes
    processors.wiki.ti.com/index.php

    Even in 3.03 the qt version is 5.6.2.

    However under /linux-devkit/sysroots/x86_64-arago-linux/usr/lib I see libQt5Core.so.5.7.1 for example.

    If I understand your question right you do not want to build full PSDK only the qt with bitbake.
    If yes, you could check the recipes under /tisdk/sources/meta-qt5/recipes-qt/qt5.
    Here is command for qtbase for example:
    MACHINE=<target_board> bitbake qtbase

    Hope this helps.

    BR
    Margarita
  • Hello Margarita,

    I understood why QT_VERSION_STR is 5.6.1

    The reason is we are using the qmake of SDK03.01    for SDK 03.03 and SDK04.02 for cross compiling in QT app (in QT creator) --> http:// processors.wiki.ti.com/index.php/File:Sitara_Linux_QT_options.jpeg 

    Note: SDK03.01 qmake is of QT 5.6.1 --> Hence I am getting the error

    I found we are not able to use qmake of SDK 03.03 or SDK04.02.

    t is throwing an error " not able to find gnu/stub-soft.h" if we use SD03.03 or SDK04.02

    Query 1:

    Can you please let me know if we cross compile QT app using the qmake of SDK04.02 (ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/qt5/qmake), how can we overcome the error in QT ?

    Error:

    In file included from /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/features.h:392:0,

    from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39,

    from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482,

    from /usr/include/c++/5/cstddef:44,

    from /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtCore/qglobal.h:45,

    from /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtGui/qwindowdefs.h:43,

    from /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtWidgets/qwidget.h:43,

    from /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/qt5/QtWidgets/QWidget:1,

    from ../untitled23/Widget.h:4,

    from ../untitled23/main.cpp:1:

    /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory

    compilation terminated.

    Query 2:

    I am building QT5.8 using yocto and using processor-sdk-04.02.00.09-config.txt. MOdified follwoing line to get QT5.8

    meta-qt5,git://github.com/meta-qt5/meta-qt5.git,master,333949a8239dfa7788b35f1059614733e11a6a25,layers=

    However when I do MACHINE=am335x-evm bitbake -k qtbase, I am getting attached error. Need your guidance to fix this.

    Error:

    ERROR: qtbase-5.8.0+gitAUTOINC+49dc9aa409-r0.arago12.tisdk4 do_patch: Command Error: 'quilt --quiltrc /home/user/biplab/yocto_new/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/etc/quiltrc push' exited with 0 Output:

    Applying patch 0001-qtbase-enhance-eglfs_kms-to-handle-DRM-plane-set-req.patch

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp

    Hunk #5 succeeded at 234 with fuzz 1.

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h

    Hunk #2 succeeded at 114 with fuzz 2 (offset -1 lines).

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp

    Hunk #1 succeeded at 165 (offset -1 lines).

    Hunk #2 succeeded at 232 (offset -1 lines).

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp

    Hunk #1 FAILED at 159.

    Hunk #2 succeeded at 176 with fuzz 2 (offset 4 lines).

    Hunk #3 succeeded at 286 (offset 17 lines).

    Hunk #4 FAILED at 288.

    Hunk #5 succeeded at 330 (offset 25 lines).

    2 out of 5 hunks FAILED -- rejects in file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp

    patching file src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h

    can't find file to patch at input line 774

    Perhaps you used the wrong -p or --strip option?

    The text leading up to this was:

    --------------------------

    |diff --git a/src/plugins/platforms/eglfs/eglfs_device_lib.pro b/src/plugins/platforms/eglfs/eglfs_device_lib.pro

    |index 974b85b..2ef797d 100644

    |--- a/src/plugins/platforms/eglfs/eglfs_device_lib.pro

    |+++ b/src/plugins/platforms/eglfs/eglfs_device_lib.pro

    --------------------------

    No file to patch. Skipping patch.

    1 out of 1 hunk ignored

    can't find file to patch at input line 788

    Perhaps you used the wrong -p or --strip option?

    The text leading up to this was:

    --------------------------

    |diff --git a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp

    |index fc41dc5..6951540 100644

    |--- a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp

    |+++ b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp

    --------------------------

    No file to patch. Skipping patch.

    1 out of 1 hunk ignored

    can't find file to patch at input line 813

    Perhaps you used the wrong -p or --strip option?

    The text leading up to this was:

    --------------------------

    |diff --git a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.h b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.h

    |index f1a5bde..562f77f 100644

    |--- a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.h

    |+++ b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.h

    --------------------------

    No file to patch. Skipping patch.

    1 out of 1 hunk ignored

    can't find file to patch at input line 826

    Perhaps you used the wrong -p or --strip option?

    The text leading up to this was:

    --------------------------

    |diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp

    |index 6f38a96..64c5c33 100644

    |--- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp

    |+++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp

    --------------------------

    No file to patch. Skipping patch.

    4 out of 4 hunks ignored

    Patch 0001-qtbase-enhance-eglfs_kms-to-handle-DRM-plane-set-req.patch does not apply (enforce with -f)

    ERROR: qtbase-5.8.0+gitAUTOINC+49dc9aa409-r0.arago12.tisdk4 do_patch: Function failed: patch_do_patch

    ERROR: Logfile of failure stored in: /home/user/biplab/yocto_new/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0.arago12.tisdk4/temp/log.do_patch.18113

    ERROR: Task (/home/user/biplab/yocto_new/tisdk/sources/meta-qt5/recipes-qt/qt5/qtbase_git.bb:do_patch) failed with exit code '1'

    Br,

    Biplab

  • Hello,

    1. Please check the these threads:
    e2e.ti.com/.../608933
    e2e.ti.com/.../586656

    2. It seems that is trying to apply patches but it is failing.
    You could find the recipes here:
    tisdk/sources/meta-qt5/recipes-qt/qt5
    If you open the qtbase recipe (.bb) you will see the lines with patches.
    If you open the qtbase folder you will find the patches itself.
    You could check this.

    BR
    Margarita
  • Hi Margarita,

    1) Thanks for the links. However all the posts indicating to use older SDK qmake even though libraries are from newer SDK. Kindly correct me if my understanding is wrong

    2) I have successfully built qtbase and qtdeclarative of QT5.8 for SDK 04.02 without any warning/error.Thanks for your support.

    Also I have received all libraries under: tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0.arago12/image/usr/lib   (please find below). Please correct me if this path is fine or not for updated QT library.

    Queries:

    A) Can I just replace all these libraries(QT 5.8) on my BSP created with any SDK (lets say roo filesytem /usr/lib from SDK 03.03 or SDK04.02)

    B) How will my QT app know which one to refer if I have both QT5.6 and 5.8 libraries in my filesystem (using soft link ?) ?

    C) Now how can I download and install QtWayland (Link: https ://wiki.qt.io/QtWayland) on this  on my BSP? Will Yocto help me on this ?

    Just to clarify: I want QtWayland (not Wayland)

    Thanks a lot for your guidance.

    Br,

    Biplab

  • Hello,

    Per my understanding qtwayland is part of qt5.8. And you changed the meta-qt5 so you could try ... bitbake qtwayland is it working on your side.

    BR
    Margarita

  • Hello,

    Please if this answers your question could you click on "This resolved my issue button" .
    You could open a new topic for new issues/questions.

    BR
    Margarita