Bug 970

Summary: yocto 1.0 sato-sdk 336 errors from zypper verify
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Robert Berger <pokylinux>
Component: meta-yoctoAssignee: Mark Hatle <mark.hatle>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Medium CC: bluelightning, dvhart, jiajun.xu, liang.li2, liangliang.wang, poky.bs.watcher, poky.watcher, sgw, yi.zhao
Version: 1.0   
Target Milestone: 1.4   
Hardware: Other   
OS: x86   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on: 821, 993    
Bug Blocks:    

Description Robert Berger 2011-04-12 03:39:37 UTC
Take official release tag (bernard-5.0) from git and built poky-image-sato-sdk for x86 qemu.

Start it up with rootfs from nfs.

So far so good.

Set up an rpm repository pretty much like described here: https://wiki.pokylinux.org/wiki/Zypper_Repository_Setup

zypper refresh

zypper verify  <-- I tried this 
...
and hell breaks loose
...
336 problems!

http://pastebin.com/BqtkcGSZ
Comment 1 Robert Berger 2011-04-13 22:12:26 UTC
Even after "bitbake world" and updating the zypper repo things don't look much better:

Loading repository data...
Reading installed packages...
336 Problems:
Problem: nothing provides libxcb-shape-dev needed by xwininfo-dev-1.1.1-r0.i586
Problem: nothing provides xorg-minimal-fonts-dev needed by xserver-xf86-dri-lite-dev-1:1.9.3-r0.i586
Problem: nothing provides ncurses-libtinfo-dev needed by xrestop-dev-0.4-r2.i586
Problem: nothing provides drm-dev needed by xf86-video-vmware-dev-1:11.0.3-r0.i586
Problem: nothing provides libxcb-render-dev needed by xcb-util-dev-0.3.6-r0.i586
Problem: nothing provides libcrypto-dev needed by x11vnc-dev-0.9.12-r1.i586
Problem: nothing provides ncurses-libtinfo-dev needed by vte-dev-0.24.3-r0.i586
Problem: nothing provides ncurses-libtinfo-dev needed by util-linux-dev-2.17.2-r7.i586
Problem: nothing provides util-linux-readprofile needed by util-linux-2.17.2-r7.i586
Problem: nothing provides libusb-dev needed by usbutils-dev-0.86-r1.i586
Problem: nothing provides libusb-dev needed by udev-dev-164-r1.i586
Problem: nothing provides liberation-fonts-dev needed by task-poky-x11-base-dev-1.0-r33.qemux86
Problem: nothing provides alsa-utils-amixer-dev needed by task-poky-tools-testapps-dev-1.0-r8.qemux86
Problem: nothing provides oprofileui-server-dev needed by task-poky-tools-profile-dev-1.0-r8.qemux86
Problem: nothing provides kernel-module-oprofile needed by task-poky-tools-profile-1.0-r8.qemux86
Problem: nothing provides gdbserver-dev needed by task-poky-tools-debug-dev-1.0-r8.qemux86
Problem: nothing provides binutils-symlinks-dev needed by task-poky-sdk-dev-1.0-r7.i586
Problem: nothing provides update-alternatives-cworth-dev needed by task-poky-boot-dev-1.0-r7.qemux86
Problem: nothing provides avahi-daemon-dev needed by task-poky-apps-console-dev-1.0-r33.qemux86
Problem: nothing provides kernel-module-af-packet needed by task-distro-base-1.0-r69.qemux86
....
Comment 2 Qing He 2011-04-14 01:26:27 UTC
These error messages have several different types and are of different reasons:
1. like: x11-common-0.1-r40.all is not installable
2. like: nothing provides curl-certs needed by libcurl4-7.21.2-r1.x86_64
3. like: nothing provides ncurses-libtinfo-dev needed by vte-dev-0.24.3-r0.i586
4. like: libzypp-0.0+git1...-r9.qemux86_64 requires libcurl4 >= 7.21.2, but this requirement cannot be provided.


The reasons to these errors are, respectively
1. sat-solver (a library used by zypper) doesn't correctly handle "all" packages, the fix will soon be incorporated.
2. libcurl4 recommends curl-certs (which may not be installed or available, e.g. kernel-module-nfsd is not available), but zypper doesn't differentiate "depends" and "recomments/suggests", see bug 821
3. the "recommends" between *-dev packages are automatic generated, many packages do not exist
4. this is called by #2 and #3, when they are fixed, it would be automatically gone.

Add dependency to bug 821.
Comment 3 Robert Berger 2011-04-19 00:22:30 UTC
Just FYI:

On ARM:
root@qemuarm:~# zypper verify
Loading repository data...
Reading installed packages...
302 Problems:
Problem: nothing provides libasound-dev needed by alsa-lib-dev-1.0.23-r0.armv5te
Problem: nothing provides gnu-config-dev needed by autoconf-dev-2.65-r2.armv5te
Problem: nothing provides perl-module-cwd-dev needed by automake-dev-1.11.1-r1.armv5te
Problem: nothing provides ncurses-libtinfo-dev needed by bash-dev-4.1-r1.armv5te
Problem: nothing provides dbus-lib-dev needed by bluez4-dev-4.82-r0.armv5te
Problem: nothing provides cairo-perf-utils-dev needed by cairo-dev-1.10.2-r0.armv5te
Problem: nothing provides connman-plugin-fake needed by connman-gnome-0.5-r4.armv5te
Problem: nothing provides dbus-lib-dev needed by dbus-dev-1.4.1-r1.armv5te
Problem: nothing provides dbus-lib-dev needed by dbus-wait-dev-0.0+svnr426-r2.armv5te

... but this seems to be consistent to what you reported before ...
Comment 4 Robert Berger 2011-04-19 01:23:20 UTC
more fun with zypper and ARM:

on host:
cd /work/devel/poky-bernard-5.0-arm-qemu/tmp/deploy/rpm

$ createrepo -v . | grep web-webkit
1470/8618 - armv5te/web-webkit-dev-0.0+svnr130-r3.armv5te.rpm
1615/8618 - armv5te/web-webkit-dbg-0.0+svnr130-r3.armv5te.rpm
7899/8618 - armv5te/web-webkit-0.0+svnr130-r3.armv5te.rpm

so the repo should contain web-webkit

on target:

We can see the rpm:

wget http://192.168.66.219/rpm-qemu-arm/armv5te/web-webkit-0.0+svnr130-r3.armv5te.rpm
Connecting to 192.168.66.219 (192.168.66.219:80)
web-webkit-0.0+svnr1 100% |****************************************************************************| 15796  --:--:-- ETA

zypper refresh
Retrieving repository 'local-repo' metadata [\]
File 'repomd.xml' from repository 'local-repo' is unsigned, continue? [yes/no] (no): yes
Retrieving repository 'local-repo' metadata [done]
Building repository 'local-repo' cache [done]
Repository 'local-repo-all' is up to date.
Repository 'local-repo-armv5te' is up to date.
Repository 'local-repo-qemuarm' is up to date.
All repositories have been refreshed.

zypper can not find repo.

root@qemuarm:/var/volatile/tmp# zypper search web-webkit*
Loading repository data...
Reading installed packages...
No packages found.
Comment 5 Qing He 2011-04-19 01:30:46 UTC
(In reply to comment #4)
> more fun with zypper and ARM:
> 
> on host:
> cd /work/devel/poky-bernard-5.0-arm-qemu/tmp/deploy/rpm
> 
> $ createrepo -v . | grep web-webkit
> 1470/8618 - armv5te/web-webkit-dev-0.0+svnr130-r3.armv5te.rpm
> 1615/8618 - armv5te/web-webkit-dbg-0.0+svnr130-r3.armv5te.rpm
> 7899/8618 - armv5te/web-webkit-0.0+svnr130-r3.armv5te.rpm
> 

> 
> root@qemuarm:/var/volatile/tmp# zypper search web-webkit*
> Loading repository data...
> Reading installed packages...
> No packages found.

This is known issue in bernard, and has been fixed in master. The fix will be included in the point release.

For details, refer to bug 827 and bug 938
Comment 6 Robert Berger 2011-04-26 04:07:02 UTC
Thanks Qing,

In the meantime I was playing with opkg-0.1.8.tar.gz
and there seems to be an issue with packages as well on the host side.

It seems to be impossible to create an opkg index from within all, armv5te and qemuarm, but when I do it from one level higher only all is being picked up.

here is my workaround:

*) on host:
cd /work/devel/poky-bernard-5.0-arm-qemu/tmp/deploy/ipk

looks like it picks up only from all folder, but only if you build from outside of it,
so later on we will not be able to install
6.1) copy from other folders (e.g armv5te and qemuarm) the packages you want over into ipkg/all

cp qemuarm/* all
cp armv5te/* all

opkg-make-index * > Packages
gzip -c9 Packages > Packages.gz

**) copy the Packages.* files into the all folder so we can install the stuff afterwards

cp Packages* all

opkg seems to be able to distinguish between recommendations and dependencies:

 opkg -f /etc/opkg.conf install qt4-x11-free
Installing qt4-x11-free (4.7.1-r21.1) to root...
Downloading file://mnt/nfs/ipk/all/qt4-x11-free_4.7.1-r21.1_armv5te.ipk.
qt4-fonts: unsatisfied recommendation for qt4-fonts-ttf-vera
qt4-fonts: unsatisfied recommendation for qt4-fonts-ttf-dejavu
qt4-fonts: unsatisfied recommendation for qt4-fonts-qpf
qt4-fonts: unsatisfied recommendation for qt4-fonts-pfb
qt4-fonts: unsatisfied recommendation for qt4-fonts-pfa
qt4-x11-free: unsatisfied recommendation for libqtassistantclient4
qt4-x11-free: unsatisfied recommendation for qt4-fonts-qpf
qt4-x11-free: unsatisfied recommendation for libqtuitools4
qt4-x11-free: unsatisfied recommendation for qt4-fonts-ttf-vera
qt4-x11-free: unsatisfied recommendation for qt4-makeqpf
qt4-x11-free: unsatisfied recommendation for libqtmediaservices4
qt4-x11-free: unsatisfied recommendation for qt4-fonts-ttf-dejavu
qt4-x11-free: unsatisfied recommendation for libqtopenvg4
qt4-x11-free: unsatisfied recommendation for qt4-fonts-pfa
qt4-x11-free: unsatisfied recommendation for qt4-fonts-pfb
qt4-x11-free: unsatisfied recommendation for libqtopengl4
qt4-x11-free: unsatisfied recommendation for libqtpvrqwswsegl4
Installing libqtgui4 (4.7.1-r21.1) to root...
Downloading file://mnt/nfs/ipk/all/libqtgui4_4.7.1-r21.1_armv5te.ipk
...
Comment 7 Qing He 2011-04-28 01:52:58 UTC
Please see bug 821

Since there seems to be no instant way to solve the "optional dependency" issue for rpm/zypper, suggesting this bug be targeting 1.1
Comment 8 liang li 2011-05-25 02:51:53 UTC
the error also happened on qemuppc sato,sato-sdk images from nightly build 20110520-2:
http://autobuilder.pokylinux.org/nightly/20110520-2/machines/qemu/qemuppc/

on sato-sdk image:
root@qemuppc:~# zypper verify
Loading repository data...
Reading installed packages...
304 Problems:
Problem: nothing provides libasound-dev needed by alsa-lib-dev-1.0.24.1-r0.ppc603e
Problem: nothing provides ncurses-libtinfo-dev needed by bash-dev-4.1-r2.ppc603e
....

on sato image:
root@qemuppc:~# zypper verify
Loading repository data...
Reading installed packages...
21 Problems:
Problem: nothing provides curl-certs needed by libcurl5-7.21.6-r0.ppc603e
Problem: nothing provides kernel-module-nfsd needed by nfs-utils-1.2.3-r2.ppc603e
...
Comment 9 Mark Hatle 2012-01-03 10:27:07 UTC
No update yet.  I believe this is still an issue -- likely centered around package "hinting"
Comment 10 Mark Hatle 2012-05-08 15:37:21 UTC
I believe Zypper uprev and package hinting (Bug 821) are a prerequisite for this issue.

It is unclear as to the cause of this issue, setting a large estimate time due to the unknowns.
Comment 11 Paul Eggleton 2013-01-25 11:36:26 UTC
Zypper has now been replaced by Smart for RPM, and the latter supports hinting (recommends), so this shouldn't be an issue anymore.