Description: Preparing the final image (do_rootfs) fails due to unresolved dependencies for x11 with 'apt' as the package manager. Offending Packages: 'packagegroup-core-x11-base' and 'packagegroup-core-x11-utils' are not being installed at the same time, resulting in an unresolved dependencies error. With 'package_rpm' the build completes successfully. The same error also is seen with a vanilla build for 'imx6dlsabresd'. Log excerpt: NOTE: Installing the following packages: psplash packagegroup-core-x11-base apt dpkg packagegroup-base-extended packagegroup-core-boot ERROR: Unable to install packages. Command '/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-get install --force-yes --allow-unauthenticated psplash packagegroup-core-x11-base apt dpkg packagegroup-base-extended packagegroup-core-boot' returned 100: [...] The following packages have unmet dependencies: packagegroup-core-x11-base : Depends: packagegroup-core-x11-utils but it is not going to be installed Log: Build Configuration: BB_VERSION = "1.28.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-14.04" TARGET_SYS = "arm-poky-linux-gnueabi" MACHINE = "marsboard" DISTRO = "poky" DISTRO_VERSION = "2.0.1" TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9" TARGET_FPU = "vfp-neon" meta meta-yocto = "HEAD:3b223f75eec1738fbc913858e8e11c8305e3edcb" meta-oe meta-multimedia = "HEAD:dc5634968b270dde250690609f0015f881db81f2" meta-fsl-arm = "HEAD:aa2a6cee58743ca9f437ce3d552504d32519c8f1" meta-fsl-arm-extra = "HEAD:7b1b30a2c8159b56103660903cd513bc1009cc21" meta-fsl-demos = "HEAD:8bffde8d803dd2362fbded79781ce084d723b048" meta-marsboard-bsp = "jethro:3410d8996012a6a301ccac43aa1bfeec0cfbba57" NOTE: Preparing RunQueue NOTE: Marking Active Tasks NOTE: Pruned 9519 inactive tasks, 4349 left NOTE: Assign Weightings NOTE: Compute totals (have 1 endpoint(s)) NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks NOTE: ###### Generate rootfs ####### NOTE: Executing 'cd /ARM/MarS/jethro/build/tmp/deploy/deb/all; PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive packages . > Packages;/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/pigz-native/gzip -fc Packages > Packages.gz;PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive release . >> Release' ... NOTE: Executing 'cd /ARM/MarS/jethro/build/tmp/deploy/deb/cortexa9hf-vfp-neon; PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive packages . > Packages;/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/pigz-native/gzip -fc Packages > Packages.gz;PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive release . >> Release' ... NOTE: Executing 'cd /ARM/MarS/jethro/build/tmp/deploy/deb/cortexa9hf-vfp-neon-mx6qdl; PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive packages . > Packages;/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/pigz-native/gzip -fc Packages > Packages.gz;PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive release . >> Release' ... NOTE: Executing 'cd /ARM/MarS/jethro/build/tmp/deploy/deb/marsboard; PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive packages . > Packages;/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/pigz-native/gzip -fc Packages > Packages.gz;PSEUDO_UNLOAD=1 /ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-ftparchive release . >> Release' ... NOTE: Installing the following packages: locale-base-en-us locale-base-en-gb NOTE: Installing the following packages: psplash packagegroup-core-x11-base apt dpkg packagegroup-base-extended packagegroup-core-boot ERROR: Unable to install packages. Command '/ARM/MarS/jethro/build/tmp/sysroots/x86_64-linux/usr/bin/apt-get install --force-yes --allow-unauthenticated psplash packagegroup-core-x11-base apt dpkg packagegroup-base-extended packagegroup-core-boot' returned 100: Reading package lists... Building dependency tree... Reading state information... Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: packagegroup-core-x11-base : Depends: packagegroup-core-x11-utils but it is not going to be installed W: Unable to read /ARM/MarS/jethro/build/tmp/work/marsboard-poky-linux-gnueabi/core-image-x11/1.0-r0/apt/preferences.d/ - DirectoryExists (2: No such file or directory) E: Unable to correct problems, you have held broken packages. ERROR: Function failed: do_rootfs ERROR: Logfile of failure stored in: /ARM/MarS/jethro/build/tmp/work/marsboard-poky-linux-gnueabi/core-image-x11/1.0-r0/temp/log.do_rootfs.3248 ERROR: Task 7 (/ARM/MarS/jethro/sources/poky/meta/recipes-graphics/images/core-image-x11.bb, do_rootfs) failed with exit code '1'
Hi, I tested with poky on jethro (3b223f75eec1738fbc913858e8e11c8305e3edcb) and it works correctly. This issue seems to be about some problem with dependencies in the layers that you add. Could you share with me your local.conf and bblayers.conf? Regards, alimon
Created attachment 3095 [details] Config files and full log file of failing build
(In reply to comment #2) > Created attachment 3095 [details] > Config files and full log file of failing build Thanks for the files. I'll review the issue this week.
This problem seems to be caused by adding some layers meta-oe and meta-multimedia , in conjuction with fsl. The deb package manager code needs to be extended to provide better explanation about what is failing not only unmeet dependencies.
The problem is that packagegroup-core-x11-utils depends on xserver-nodm-init and x11-common, that are mutually exclusive. Using a devshell and installing manually the x11-common removes xserver-nodm-init creating a unmet dependency chain for packagegroup-core-x11-utils. The recipe meta-data needs to be fixed but we need a proper error message on the package manager may be a generic implementation in rpm, dpkg, ipk.
(In reply to comment #5) > The problem is that packagegroup-core-x11-utils depends on xserver-nodm-init > and x11-common, that are mutually exclusive. To be more precise the xserver-nodm-init package depends on xserver-common that's conflicts with x11-common. > > Using a devshell and installing manually the x11-common removes > xserver-nodm-init creating a unmet dependency chain for > packagegroup-core-x11-utils. > > The recipe meta-data needs to be fixed but we need a proper error message on > the package manager may be a generic implementation in rpm, dpkg, ipk.
The problem is about meta-oe providing it's own version of xserver-nodm-init [1], this recipe was removed for use the oe-core one. The case is that meta-oe xserver-nodm-init set an explicit dependency on xserver-common istead of a usage of VIRTUAL-xserver_common that resolves to x11-common or xserver-common depends on configuration. I'm researching why it fails on deb and works on rpm, seems to be how the package manager dpkg and rpm handles conflicts. [1] http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529
(In reply to comment #7) > The problem is about meta-oe providing it's own version of xserver-nodm-init > [1], > this recipe was removed for use the oe-core one. > > The case is that meta-oe xserver-nodm-init set an explicit dependency on > xserver-common istead of a usage of VIRTUAL-xserver_common that resolves to > x11-common or xserver-common depends on configuration. > > I'm researching why it fails on deb and works on rpm, seems to be how the > package manager dpkg and rpm handles conflicts. > > [1] > http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes- > graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529 The package_rpm class isn't generating rpm's with conflicts information, that's the reason to only fails in deb packages. $ rpm -qp build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0-r22.cortexa9hf_vfp_neon.rpm --conflicts warning: build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0-r22.cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 8c7109fe: NOKEY
(In reply to comment #8) > (In reply to comment #7) > > The problem is about meta-oe providing it's own version of xserver-nodm-init > > [1], > > this recipe was removed for use the oe-core one. > > > > The case is that meta-oe xserver-nodm-init set an explicit dependency on > > xserver-common istead of a usage of VIRTUAL-xserver_common that resolves to > > x11-common or xserver-common depends on configuration. > > > > I'm researching why it fails on deb and works on rpm, seems to be how the > > package manager dpkg and rpm handles conflicts. > > > > [1] > > http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes- > > graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529 > > The package_rpm class isn't generating rpm's with conflicts information, > that's the reason to only fails in deb packages. > > $ rpm -qp > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > r22.cortexa9hf_vfp_neon.rpm --conflicts > warning: > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > r22.cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 8c7109fe: > NOKEY RPM information: alimon@alimonb-mobl1:~/repos/poky$ rpm -qp build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8.cortexa9hf_vfp_neon.rpm --conflicts warning: build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8.cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 0b445786: NOKEY DEB information: alimon@alimonb-mobl1:~/repos/poky$ dpkg-deb -I build-jethro-deb/tmp/deploy/deb/cortexa9hf-vfp-neon/xserver-common_1.34-r8_armel.deb new debian package, version 2.0. size 7426 bytes: control archive=381 bytes. 426 bytes, 13 lines control Package: xserver-common Version: 1.34-r8 Description: Common X11 scripts and support files Common X11 scripts and support files. Section: base Priority: optional Maintainer: Poky <poky@yoctoproject.org> Architecture: armel OE: xserver-common PackageArch: cortexa9hf-vfp-neon Depends: xmodmap, xrandr, xdpyinfo, fbset, xinput-calibrator Replaces: xserver-kdrive-common, x11-common Conflicts: xserver-kdrive-common, x11-common
(In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #7) > > > The problem is about meta-oe providing it's own version of xserver-nodm-init > > > [1], > > > this recipe was removed for use the oe-core one. > > > > > > The case is that meta-oe xserver-nodm-init set an explicit dependency on > > > xserver-common istead of a usage of VIRTUAL-xserver_common that resolves to > > > x11-common or xserver-common depends on configuration. > > > > > > I'm researching why it fails on deb and works on rpm, seems to be how the > > > package manager dpkg and rpm handles conflicts. > > > > > > [1] > > > http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes- > > > graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529 > > > > The package_rpm class isn't generating rpm's with conflicts information, > > that's the reason to only fails in deb packages. > > > > $ rpm -qp > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > > r22.cortexa9hf_vfp_neon.rpm --conflicts > > warning: > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > > r22.cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 8c7109fe: > > NOKEY > > RPM information: > > alimon@alimonb-mobl1:~/repos/poky$ rpm -qp > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8. > cortexa9hf_vfp_neon.rpm --conflicts > warning: > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8. > cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 0b445786: NOKEY > > DEB information: > > alimon@alimonb-mobl1:~/repos/poky$ dpkg-deb -I > build-jethro-deb/tmp/deploy/deb/cortexa9hf-vfp-neon/xserver-common_1.34- > r8_armel.deb > new debian package, version 2.0. > size 7426 bytes: control archive=381 bytes. > 426 bytes, 13 lines control > Package: xserver-common > Version: 1.34-r8 > Description: Common X11 scripts and support files > Common X11 scripts and support files. > Section: base > Priority: optional > Maintainer: Poky <poky@yoctoproject.org> > Architecture: armel > OE: xserver-common > PackageArch: cortexa9hf-vfp-neon > Depends: xmodmap, xrandr, xdpyinfo, fbset, xinput-calibrator > Replaces: xserver-kdrive-common, x11-common > Conflicts: xserver-kdrive-common, x11-common In package_rpm.bbclass if a RCONFLICTS is found in RPROVIDES isn't added to the rpm spec file also RREPLACES fills RPROVIDES and ROBSOLETES, that's the reason to donesn't fail using rpm backend [1]. [1] http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb?h=jethro#n43
Summary, The bug doesn't exist in master now because xserver-common and xserver-nodm-init was remove from meta-oe and the recipe meta-data fixed. There are further work to add insane test to ensure that RREPLACES and RCONFLICTS doesn't have the same value in the RPM backend at least or change the behaviour in the RPM backend?.
(In reply to comment #10) > (In reply to comment #9) > > (In reply to comment #8) > > > (In reply to comment #7) > > > > The problem is about meta-oe providing it's own version of xserver-nodm-init > > > > [1], > > > > this recipe was removed for use the oe-core one. > > > > > > > > The case is that meta-oe xserver-nodm-init set an explicit dependency on > > > > xserver-common istead of a usage of VIRTUAL-xserver_common that resolves to > > > > x11-common or xserver-common depends on configuration. > > > > > > > > I'm researching why it fails on deb and works on rpm, seems to be how the > > > > package manager dpkg and rpm handles conflicts. > > > > > > > > [1] > > > > http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes- > > > > graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529 > > > > > > The package_rpm class isn't generating rpm's with conflicts information, > > > that's the reason to only fails in deb packages. > > > > > > $ rpm -qp > > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > > > r22.cortexa9hf_vfp_neon.rpm --conflicts > > > warning: > > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-nodm-init-2.0- > > > r22.cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 8c7109fe: > > > NOKEY > > > > RPM information: > > > > alimon@alimonb-mobl1:~/repos/poky$ rpm -qp > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8. > > cortexa9hf_vfp_neon.rpm --conflicts > > warning: > > build-jethro-deb/tmp/deploy/rpm/cortexa9hf_vfp_neon/xserver-common-1.34-r8. > > cortexa9hf_vfp_neon.rpm: Header V4 DSA/SHA1 Signature, key ID 0b445786: NOKEY > > > > DEB information: > > > > alimon@alimonb-mobl1:~/repos/poky$ dpkg-deb -I > > build-jethro-deb/tmp/deploy/deb/cortexa9hf-vfp-neon/xserver-common_1.34- > > r8_armel.deb > > new debian package, version 2.0. > > size 7426 bytes: control archive=381 bytes. > > 426 bytes, 13 lines control > > Package: xserver-common > > Version: 1.34-r8 > > Description: Common X11 scripts and support files > > Common X11 scripts and support files. > > Section: base > > Priority: optional > > Maintainer: Poky <poky@yoctoproject.org> > > Architecture: armel > > OE: xserver-common > > PackageArch: cortexa9hf-vfp-neon > > Depends: xmodmap, xrandr, xdpyinfo, fbset, xinput-calibrator > > Replaces: xserver-kdrive-common, x11-common > > Conflicts: xserver-kdrive-common, x11-common > > In package_rpm.bbclass if a RCONFLICTS is found in RPROVIDES isn't added to > the rpm spec file also RREPLACES fills RPROVIDES and ROBSOLETES, that's the > reason to donesn't fail using rpm backend [1]. > > [1] > http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-graphics/ > xserver-common/xserver-common_1.34.bb?h=jethro#n43 Removing the filtered code the error appears and the displays is related to recipe meta-data: ERROR: Unable to install packages. Command '/home/alimon/repos/poky/build-jethro-deb/tmp/sysroots/x86_64-linux/usr/bin/smart --log-level=warning --data-dir=/home/alimon/repos/poky/build-jethro-deb/tmp/work/imx6dlsabresd-poky-linux-gnueabi/core-image-x11/1.0-r0/rootfs/var/lib/smart install -y psplash@cortexa9hf_vfp_neon packagegroup-core-x11-base@all smartpm@cortexa9hf_vfp_neon packagegroup-base-extended@imx6dlsabresd rpm@cortexa9hf_vfp_neon packagegroup-core-boot@imx6dlsabresd locale-base-en-us@cortexa9hf_vfp_neon locale-base-en-gb@cortexa9hf_vfp_neon' returned 1: Loading cache... Updating cache... ######################################## [100%] Computing transaction...error: Can't install packagegroup-core-x11-utils-1.0-r40@all: unable to install provider for x11-common: error: x11-common-0.1-r47@cortexa9hf_vfp_neon is conflicted by xserver-common-1.34-r8@cortexa9hf_vfp_neon
(In reply to comment #11) > Summary, > > The bug doesn't exist in master now because xserver-common and > xserver-nodm-init was remove from meta-oe and the recipe meta-data fixed. > > There are further work to add insane test to ensure that RREPLACES and > RCONFLICTS doesn't have the same value in the RPM backend at least or change > the behaviour in the RPM backend?. I sent a patch to remove the filtering if Conflicts are in Provides: http://lists.openembedded.org/pipermail/openembedded-core/2017-April/135797.html
The RPM behavior was fix to comply with the deb failure, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=9cb58a7f2b1329d60e8e7c9af2291f548cb651e0 The failure is due to a problem in meta-oe recipe that is already fix into master, http://cgit.openembedded.org/meta-openembedded/commit/meta-oe/recipes-graphics?id=877e52fd75c7d3b88add94691df3beb5e0c54529