0

I am using a b2qt manifest v6.9.0.xml to build an image bsp. I have added a layer with our own customisations, recipes, bbappends etc. and build a successful image with MACHINE=raspberrypi-armv8 for the rPi4.

I am now trying with MACHINE=raspberrypi-cm3 but I ma running into several problems.

  1. The image is somewhat spare compared to the rPi4. I am having to add many basic utils things like top and vi to IMAGE_INSTALL:append.

  2. In a recipe for our custom application (that built fine for CM4 / MACHINE=raspberrypi-armv8) I get the following error.

| CMake Error at CMakeLists.txt:24 (find_package):                                                                                                    |   Could not find a configuration file for package "QT" that is compatible                                                                           |   with requested version "".                                                                                                                        |                                                                                                                                                     |   The following configuration files were considered but not accepted:                                                                               |
|     /home/myuser/yoctoBuilds/rPi4-Qt6.9/build-raspberrypi-cm3/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/pisp/1.0+git/recipe-sysroot-native/usr/lib/cmake/Qt6/Qt6Config.cmake, version: 6.9.0 (64bit) 

So poking around it seems that when building our application (pisp here) the target sysroot (pisp/1.0+git/recipe-sysroot/usr/lib/) has not been populated with any qtlibs. In my bb file the hopefully relevant part is below:

# Adding these 2 flags for raspberrypi-cm3
EXTRA_OECMAKE += "-DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_TARGET}"
EXTRA_OECMAKE += "-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY"

# to aid debugging
EXTRA_OECMAKE += "-DCMAKE_VERBOSE_MAKEFILE=ON"
# Force dev files to be staged
SYSROOT_DIRS += "${STAGING_DIR_TARGET}/usr/lib/cmake"


EXTRA_OECMAKE += "-DQT_HOST_PATH=${STAGING_DIR_NATIVE}/usr"
EXTRA_OECMAKE += "-DCMAKE_PREFIX_PATH=${STAGING_DIR_TARGET}/usr;${STAGING_DIR_TARGET}/usr/lib/cmake"

inherit cmake qt6-cmake

# Build dependencies
DEPENDS += " \
    qtbase \
    qtdeclarative \
    qtdeclarative-native \
    qtserialport \
    qtwebsockets \
    qtdeviceutilities \
    qtbase-native \
    qttools-native \
    qtmultimedia \
"

As mention above the recipe runs find for raspberrypi-armv8, in addition the bsp builds fine and I am able to install and build our app in qtcreator.

Does anyone have any ideas?

Bitbake config

Build Configuration:
BB_VERSION           = "2.9.1"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "raspberrypi-cm3"
DISTRO               = "b2qt"
DISTRO_VERSION       = "5.1.2"
TUNE_FEATURES        = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard"
TARGET_FPU           = "hard"
SDKMACHINE           = "x86_64"
QT_VERSION           = "6.9.0"
2
  • The error you pasted has some formatting issue I believe. But from what I can decipher it says you're requesting a QT version of "", which sounds wrong to me Commented Jul 22 at 19:28
  • Are you using the official meta-raspberrypi layer? Did you defined your own machine spec? As far as I know you should use raspberrypi4_64 as your machine for rpi4(64bit) build, not raspberrypi-armv8. Commented Jul 26 at 6:04

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.