Reputation: 1
I am using PetaLinux (2024.1) to build linux images. Component configuration (e.g. uboot) is done with
petalinux-config -c uboot
which opens a tui interface to interact with the .config and the corresponding Kconfig files.
I found out that one can use make xconfig
instead of make menuconfig
in order to use a Qt gui (instead of a tui). I would much rather configure components via the Qt gui.
When
petalinux-config -c uboot
is called, the do_menuconfig
task is invoked for uboot. I found out that the do_menuconfig
task is defined in:
<project_root>/components/yocto/layers/poky/meta/classes-recipe/cml1.bbclass
In this file, i set KCONFIG_CONFIG_COMMAND
to xconfig
, which was previously set to menuconfig
.
When i run petalinux-config -c uboot
again, i get the following error:
HOSTCC scripts/basic/fixdep
GEN Makefile
HOSTCC scripts/kconfig/zconf.tab.o
*
* Could not find Qt via pkg-config.
* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH
*
make[3]: *** [/home/test/petalinux-projects/2024_1/build/tmp/work/zynq_generic_7z020-xilinx-linux-gnueabi/u-boot-xlnx/1_v2024.01-xilinx-v2024.1+gitAUTOINC+fbed1010e5-r0/git/scripts/kconfig/Makefile:226: scripts/kconfig/.qconf-cfg] Error 1
make[2]: *** [/home/test/petalinux-projects/2024_1/build/tmp/work/zynq_generic_7z020-xilinx-linux-gnueabi/u-boot-xlnx/1_v2024.01-xilinx-v2024.1+gitAUTOINC+fbed1010e5-r0/git/Makefile:586: xconfig] Error 2
make[1]: *** [Makefile:177: sub-make] Error 2
make: *** [Makefile:15: __sub-make] Error 2
Command failed.
Press any key to continue...
The cml1.bbclass
contains the following line:
do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
I thought i have to do the same for qtbase:
do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
do_menuconfig[depends] += "qtbase-native:do_populate_sysroot"
but the error message stays the same. Running make xconfig
from the build directory works as expected.
For debugging purposes, I put printenv
right before the make xconfig call:
oe_terminal("sh -c \"printenv; make %s; if [ \\$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
d.getVar('PN') + ' Configuration', d)
PKG_CONFIG_PATH consists of two paths:
/home/test/petalinux-projects/2024_1/build/tmp/work/zynq_generic_7z020-xilinx-linux-gnueabi/u-boot-xlnx/1_v2024.01-xilinx-v2024.1+gitAUTOINC+fbed1010e5-r0/recipe-sysroot-native/usr/lib/pkgconfig
/home/test/petalinux-projects/2024_1/build/tmp/work/zynq_generic_7z020-xilinx-linux-gnueabi/u-boot-xlnx/1_v2024.01-xilinx-v2024.1+gitAUTOINC+fbed1010e5-r0/recipe-sysroot-native/usr/share/pkgconfig
The first path contains Qt stuff:
/home/test/petalinux-projects/2024_1/build/tmp/work/zynq_generic_7z020-xilinx-linux-gnueabi/u-boot-xlnx/1_v2024.01-xilinx-v2024.1+gitAUTOINC+fbed1010e5-r0/recipe-sysroot-native/usr/lib/pkgconfig $ ls
...
-rw-r--r-- 4 test test 274 Mai 20 21:13 Qt5Concurrent.pc
-rw-r--r-- 4 test test 811 Mai 20 21:13 Qt5Core.pc
-rw-r--r-- 4 test test 244 Mai 20 21:13 Qt5DBus.pc
-rw-r--r-- 4 test test 239 Mai 20 21:13 Qt5Gui.pc
-rw-r--r-- 4 test test 259 Mai 20 21:13 Qt5Network.pc
-rw-r--r-- 4 test test 392 Mai 20 21:13 Qt5OpenGLExtensions.pc
-rw-r--r-- 4 test test 272 Mai 20 21:13 Qt5OpenGL.pc
-rw-r--r-- 4 test test 302 Mai 20 21:13 Qt5PrintSupport.pc
-rw-r--r-- 4 test test 239 Mai 20 21:13 Qt5Sql.pc
-rw-r--r-- 4 test test 256 Mai 20 21:13 Qt5Test.pc
-rw-r--r-- 4 test test 266 Mai 20 21:13 Qt5Widgets.pc
-rw-r--r-- 4 test test 239 Mai 20 21:13 Qt5Xml.pc
...
The second path does not contain any Qt stuff.
To my understanding, pkg-config should have access to Qt5. Can someone help me?
Upvotes: 0
Views: 83