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/AM5728: Qt modules included in SDK

Part Number: AM5728
Other Parts Discussed in Thread: TMDSEVM572X

Tool/software: Linux

Hi,

 We have purchased a TMDSEVM572X evaluation module which we intend to use for Qt based HMI prototype development.

 The SDK version we are using is ti-processor-sdk-linux-am57xx-evm-04.01.00.06 on an Ubuntu 16.04 machine.

Qt Creator version is Qt Creator 4.4.1 Based on Qt 5.9.2.

Environment setup was done based on the TI’s tutorial:

http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Hands_on_with_QT

 We have successfully built and run on TMDSEVM572X some fairly simple C++ apps which rely only on the Qt Essentials Modules, but when trying to build an app using Qt Charts (listed as Value-Add Modules) we get an

“Unkown module(s) in QT: charts ”. The app is built successfully if we switch the environment and build it for the host target (as mentioned an Ubuntu 16.04 x86 machine).

 Could you please tell me if:

1)      Are all the modules from the Open Source Qt Version (see https://www.qt.io/download) also available on the SDK (I assume the answer is NO) or are we missing some configuration?

2)      If not available in the SDK, is there any way include them for development with TMDSEVM572X?

3)      If not possible, do you happen to have any recommendation for an alternative charts modules?

 Thank you.

 

  • Hello Bogdan,

    You can use the Qt Charts for development with TMDSEVM572X in this way:

    $ sudo apt-get install git build-essential python diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386

    $ sudo dpkg-reconfigure dash
    # Select "No" when prompted.

    $ wget https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz
    $ tar -Jxvf gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz -C $HOME

    $ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
    $ cd tisdk
    $ ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-04.02.00.09-config.txt
    $ cd build
    $ . conf/setenv
    $ export PATH=$HOME/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin:$PATH
    $ MACHINE=am57xx-evm bitbake qtcharts

    cp -r <tisdk>/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtcharts/5.7.1+gitAUTOINC+da07182524-r0/image/usr/ <Processor SDK>/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/

    Then transfer to your board and install the ipks from <tisdk>/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtcharts/5.7.1+gitAUTOINC+da07182524-r0/deploy-ipks/armv7ahf-neon/ with opkg to be able to run the charts on your target.

    Best regards,
    Kemal

  • Hello Kemal,

    First of all, thank you very much for your support.

    After some minor fixes (set the umask, update some file access rights) I have managed to successfully bitbake qtcharts.

    While trying to install the resulting ipks (i did this using opkg install  libqt5charts*) I encountered the following error: Not selecting libqt5charts.... due to incompatible architecture.

    I fixed this by adding arch armv7ahf-neon 48 line to /etc/opkg/arch.conf as you have said in another post http://e2e.ti.com/support/arm/sitara_arm/f/791/t/572042?tisearch=e2e-sitesearch&keymatch=incompatible%20architecture (many thanks for that as well).

    Nonetheless there are still some issues as shown bellow:

    $ opkg install  libqt5charts*

    Installing libqt5charts-dbg (5.7.1+git0+da07182524-r0) on root.

    libqt5charts-dbg: unsatisfied recommendation for libgcc-s-dbg

    libqt5charts-dbg: unsatisfied recommendation for libqt5charts-plugins-dbg

    libqt5charts-dbg: unsatisfied recommendation for libqt5charts-qmlplugins-dbg

    libqt5charts-dbg: unsatisfied recommendation for libstdc++-dbg

    libqt5charts-dbg: unsatisfied recommendation for qtbase-dbg

    libqt5charts-dbg: unsatisfied recommendation for qtdeclarative-dbg

    libqt5charts-dbg: unsatisfied recommendation for qtmultimedia-dbg

    libqt5charts-dbg: unsatisfied recommendation for ti-sgx-ddk-um-dbg

    Installing libqt5charts-dev (5.7.1+git0+da07182524-r0) on root.

    libqt5charts5: unsatisfied recommendation for libqt5charts-plugins

    libqt5charts-dev: unsatisfied recommendation for qtmultimedia-dev

    libqt5charts-dev: unsatisfied recommendation for ti-sgx-ddk-um-dev

    Installing libqt5charts-examples (5.7.1+git0+da07182524-r0) on root.

    Installing libqt5charts-mkspecs (5.7.1+git0+da07182524-r0) on root.

    Installing libqt5charts-qmldesigner (5.7.1+git0+da07182524-r0) on root.

    Installing libqt5charts-qmlplugins (5.7.1+git0+da07182524-r0) on root.

    Installing libqt5charts5 (5.7.1+git0+da07182524-r0) on root.

    Package libqt5charts5 (5.7.1+git0+da07182524-r0) installed in root is up to date.

    Configuring libqt5charts-qmldesigner.

    Configuring libqt5charts-mkspecs.

    Configuring libqt5charts-qmlplugins.

    Configuring libqt5charts5.

    /sbin/ldconfig: /lib/libstdc++.so.6.0.20-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

    Configuring libqt5charts-dbg.

    Collected errors:

    * satisfy_dependencies_for: Cannot satisfy the following dependencies for libqt5charts-dev:

    *      libc6 (>= 2.23) *       libgcc-s1 (>= 6.2.1) *  libstdc++6 (>= 6.2.1) *         qtbase (>= 5.7.1+git0+a55f36211e) *     ti-sgx-ddk-um (>= 1.14.3699939) * libc6 (>= 2.23) *       libgcc-s1 (>= 6.2.1) *  libstdc++6 (>= 6.2.1) *         qtbase (>= 5.7.1+git0+a55f36211e) *     qtdeclarative (>= 5.7.1+git0+2a992040e2) *        ti-sgx-ddk-um (>= 1.14.3699939) *

    * opkg_install_cmd: Cannot install package libqt5charts-dev.

    * satisfy_dependencies_for: Cannot satisfy the following dependencies for libqt5charts-examples:

    *      libc6 (>= 2.23) *       libgcc-s1 (>= 6.2.1) *  libstdc++6 (>= 6.2.1) *         qtbase (>= 5.7.1+git0+a55f36211e) *     qtdeclarative (>= 5.7.1+git0+2a992040e2) *        qtmultimedia (>= 5.7.1+git0+e4aef963cb) *       ti-sgx-ddk-um (>= 1.14.3699939) *

    * opkg_install_cmd: Cannot install package libqt5charts-examples.

    I am not sure how much are these things related related, but after successfully building a basic sample app using qtcharts I get the following errors during the deployment stage.

    Starting /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart...

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /usr/lib/libQt5Core.so.5: no version information available (required by /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /usr/lib/libQt5Widgets.so.5: no version information available (required by /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /usr/lib/libQt5Core.so.5: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /lib/libstdc++.so.6: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /usr/lib/libQt5Gui.so.5: no version information available (required by /usr/lib/libQt5Charts.so.5)

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: /usr/lib/libQt5Widgets.so.5: no version information available (required by /usr/lib/libQt5Charts.so.5)

    No such plugin for spec  "Auto"

    /opt/texas-instruments/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/examples/charts/splinechart/splinechart: relocation error: /usr/lib/libQt5Charts.so.5: symbol _ZdlPvj, version CXXABI_1.3.9 not defined in file libstdc++.so.6 with link time reference

    Application finished with exit code 127.

    So I am stuck again and would strongly appreciate your help.

    Thank you.

    Best regards,

    Bogdan

  • These dependency issues occurs because you have built the images for processor-sdk-04.02.00.09-config.txt but you are running the previous ti-processor-sdk-linux-am57xx-evm-04.01.00.06 on your target. Can you install the latest ti-processor-sdk-linux-am57xx-evm-04.02.00.09?

  • Hello Kemal,

    I tested the board with the updated image and everything works fine.

    Thank you very much for the support.