Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Unsolved How can I run qmake tool on target with yocto?

    Mobile and Embedded
    2
    4
    170
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Juni last edited by

      Hi,

      My team is using Petalinux 18.02 which uses Yocto ver.rocko and meta-qt5.

      I added IMAGE_INSTALL_append = " packagegroup-qt5-toolchain-target " in local.conf but it did not integrate qmake to target image. Then I modified local.conf one more time and added IMAGE_INSTALL_append = " qtbase-tools " and it did that! So I finally integrated qmake tool on target system.

      However, it does not work well...

      Its configuration looks invalid and it can't find features, test functions. I'll add a detail below.

      # Environment variables
      export QTDIR="/usr/bin/qt5"; 
      export QTINC="/usr/include/qt5"; 
      export QTLIB="/usr/lib/qt5"; 
      export QMAKESPEC="/usr/lib/qt5/mkspecs/linux-oe-g++"; 
      export QMAKEFEATURES="/usr/lib/qt5/mkspecs/features"; 
      export PATH="${QTDIR}:${PATH}"
      
      root@petalinux18.02:~# /usr/bin/qt5/qmake -query
      QT_SYSROOT:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-linuxt
      QT_INSTALL_PREFIX:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinr
      QT_INSTALL_PREFIX/raw:/usr
      QT_INSTALL_ARCHDATA:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xil5
      QT_INSTALL_ARCHDATA/raw:/usr/lib/qt5
      QT_INSTALL_DATA:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-5
      QT_INSTALL_DATA/raw:/usr/share/qt5
      QT_INSTALL_DOCS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-5
      QT_INSTALL_DOCS/raw:/usr/share/doc/qt5
      QT_INSTALL_HEADERS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xili5
      QT_INSTALL_HEADERS/raw:/usr/include/qt5
      QT_INSTALL_LIBS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-b
      QT_INSTALL_LIBS/raw:/usr/lib
      QT_INSTALL_LIBEXECS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilc
      QT_INSTALL_LIBEXECS/raw:/usr/lib/qt5/libexec
      QT_INSTALL_BINS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-5
      QT_INSTALL_BINS/raw:/usr/bin/qt5
      QT_INSTALL_TESTS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinxs
      QT_INSTALL_TESTS/raw:/usr/share/qt5/tests
      QT_INSTALL_PLUGINS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilis
      QT_INSTALL_PLUGINS/raw:/usr/lib/qt5/plugins
      QT_INSTALL_IMPORTS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilis
      QT_INSTALL_IMPORTS/raw:/usr/lib/qt5/imports
      QT_INSTALL_QML:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-ll
      QT_INSTALL_QML/raw:/usr/lib/qt5/qml
      QT_INSTALL_TRANSLATIONS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64s
      QT_INSTALL_TRANSLATIONS/raw:/usr/share/qt5/translations
      QT_INSTALL_CONFIGURATION:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch65
      QT_INSTALL_CONFIGURATION/raw:/etc/qt5
      QT_INSTALL_EXAMPLES:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xils
      QT_INSTALL_EXAMPLES/raw:/usr/share/qt5/examples
      QT_INSTALL_DEMOS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinxs
      QT_INSTALL_DEMOS/raw:/usr/share/qt5/examples
      QT_HOST_PREFIX:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-le
      QT_HOST_DATA:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-lin5
      QT_HOST_BINS:/usr/bin/qt5
      QT_HOST_LIBS:/scratch/petalinux-yocto/yocto_downloads_2018.2_zynqmp-generic/build_zynqmp-generic/tmp/work/aarch64-xilinx-linb
      QMAKE_SPEC:linux-oe-g++
      QMAKE_XSPEC:linux-oe-g++
      QMAKE_VERSION:3.1
      QT_VERSION:5.9.4
      
      # test.pro
      
      TEMPLATE = app
      TARGET = test_qmake
      DEPENDPATH += .
      INCLUDEPATH += .
      INCLUDEPATH += /usr/include/qt5
      
      # Input
      HEADERS += test_qmake.hpp
      SOURCES += test_qmake.cpp
      
      root@petalinux18.02:~# ls
      test.pro
      root@petalinux18.02:~# /usr/bin/qt5/qmake 
      /usr/lib/qt5/mkspecs/features/resolve_config.prf:25: 'addExclusiveBuilds' is not a recognized test function.
      /usr/lib/qt5/mkspecs/features/resolve_config.prf:37: 'addExclusiveBuilds' is not a recognized test function.
      Project ERROR: Could not find feature force_asserts.
      

      I know running qmake on target not host is not normal. But our client wants it then I have to do it.

      I have been searching a solution in google but I found out nothing...

      Is there anyone else has a solution?

      1 Reply Last reply Reply Quote 0
      • SGaist
        SGaist Lifetime Qt Champion last edited by

        Hi and welcome to devnet,

        Things are not clear from what you posted.

        Is PetaLinux running on your target ? It would contradict the use of Yocto.

        Also, it's not a good idea to run builds as root.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        J 1 Reply Last reply Reply Quote 1
        • J
          Juni @SGaist last edited by

          @SGaist
          Hi!
          Yes, Petalinux is used for Xilinx SoC embedded system.
          Also, embedded system almost uses only one account as root.

          Actually, I know this model is not good. So my team was denied but the client strongly wanted it.
          Then I have to provide the environment for running qmake on target system to the client.

          But, it is really not easy....

          1 Reply Last reply Reply Quote 0
          • SGaist
            SGaist Lifetime Qt Champion last edited by

            Since you have a full Linux on your device, why not install the Qt packages that come with it ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply Reply Quote 0
            • First post
              Last post