Re: how to specify the package version via RDEPENDS in package group #bitbake


Alexander Kanavin
 

You need to look up PREFERRED_VERSION rather.

Alex

On Tue, 22 Nov 2022 at 09:51, Martin <linmartin.tw@...> wrote:

I have multiple version for opencv, but bibake installed the version 3.4.3 default.

=== Matching recipes: ===
opencv:
meta-rcar-gen3-adas 3.4.3+gitAUTOINC+b38c50b3d0_1f6d6f0626_bdb7bb85f3_34e4206aef_fccf7cd6a4
meta-oe 4.1.0
meta-rcar-gen3-adas 2.4.11+gitAUTOINC+707d10f115
meta-rcar-gen3-adas 3.2+gitAUTOINC+70bbf17b13


the yocto offical documents mentioned the variable RDEPENDS supports operator for specify versions.

then i specified the version to 4.1.0 for opencv in package group.

SUMMARY = "Requirement packages"
PR = "r1"

inherit packagegroup

RDEPENDS:${PN} = " \
opencv (>= 4.1.0)\
libopencv-core-dev \
libopencv-highgui-dev \
libopencv-imgproc-dev \
libopencv-objdetect-dev \
libopencv-ml-dev \
opencv-apps \
opencv-dev \
protobuf \
gdb \
libsdl2 \
libgpiod \
libgpiod-tools \
"


Appeared the failure message, why??

The version list has v4.1.0, but the error message show nothing provides v4.1.0 for opencv.

nothing provides opencv >= 4.1.0 needed by packagegroup-user-requirements-1.0-r1.noarch

ERROR: core-image-weston-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/rootfs/etc/yum.repos.d --installroot=/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/rootfs --setopt=logdir=/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/temp --repofrompath=oe-repo,/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/oe-rootfs-repo --nogpgcheck install bash coreutils dnf git htop i2c-tools inx-cluster kernel-module-qos matchbox-terminal omx-user-module optee-client packagegroup-base-extended packagegroup-bsp packagegroup-core-boot packagegroup-core-eclipse-debug packagegroup-core-sdk packagegroup-core-ssh-openssh packagegroup-core-standalone-sdk-target packagegroup-core-tools-debug packagegroup-core-tools-profile packagegroup-graphics-renesas-proprietary packagegroup-graphics-renesas-wayland packagegroup-gstreamer1.0-plugins packagegroup-user-requirements packagegroup-mm packagegroup-multimedia-kernel-modules packagegroup-multimedia-libs packagegroup-radio packagegroup-wayland-community psplash qosif-tp-user-module qosif-user-module rpm run-postinsts u-boot v4l-utils vim vspmif-tp-user-module weston weston-examples weston-init weston-xwayland locale-base-en-us locale-base-en-gb' returned 1:
DNF version: 4.2.2
cachedir: /home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/rootfs/var/cache/dnf
Added oe-repo repo from /home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/oe-rootfs-repo
repo: using cache for: oe-repo
not found other for:
not found modules for:
not found deltainfo for:
not found updateinfo for:
oe-repo: using metadata from Tue 22 Nov 2022 03:02:16 AM UTC.
Last metadata expiration check: 0:00:01 ago on Tue 22 Nov 2022 03:02:16 AM UTC.
No module defaults found
--> Starting dependency resolution
--> Finished dependency resolution
Error:
Problem: conflicting requests
- nothing provides opencv >= 4.1.0 needed by packagegroup-user-requirements-1.0-r1.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

ERROR: Logfile of failure stored in: /home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/tmp/work/h3ulcb-poky-linux/core-image-weston/1.0-r0/temp/log.do_rootfs.855803
ERROR: Task (/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/../poky/meta/recipes-graphics/images/core-image-weston.bb:do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 9003 tasks of which 9002 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/dell/workspace/yocto-v5.1.0-h3ulcb-kf/h3ulcb/build/../poky/meta/recipes-graphics/images/core-image-weston.bb:do_rootfs
Summary: There was 1 ERROR message shown, returning a non-zero exit code.


Successfully built the image after I try to set the version conditions as > 2.0, but the version still is v3.4.3 for opencv.

SUMMARY = "Requirement packages"
PR = "r1"

inherit packagegroup

RDEPENDS:${PN} = " \
opencv (>= 2.0)\
libopencv-core-dev \
libopencv-highgui-dev \
libopencv-imgproc-dev \
libopencv-objdetect-dev \
libopencv-ml-dev \
opencv-apps \
opencv-dev \
protobuf \
gdb \
libsdl2 \
libgpiod \
libgpiod-tools \
"


How to specify the package version via RDEPENDS in package group? thanks




Join yocto@lists.yoctoproject.org to automatically receive all group messages.