How can I run qmake tool on target with yocto?
-
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 addedIMAGE_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?
-
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.
-
@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....
-
Since you have a full Linux on your device, why not install the Qt packages that come with it ?