| Summary: | pkgconfig is missing from sato-sdk image - installing and then trying to removing it leads to rpm crashes/assertions | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Stefan Stanacar <sstncr> |
| Component: | core | Assignee: | Mark Hatle <mark.hatle> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | Low | CC: | bluelightning, dvhart, hongnax.xu, meta.mr.watcher, meta.watcher, richard.purdie, sgw |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | x86 | ||
| OS: | x86_64 | ||
| Whiteboard: | investigating-RPM | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
|
Description
Stefan Stanacar
2012-08-02 10:08:32 UTC
pkgconfig it's missing from core-image-sato-sdk-qemux86-64 too, pkgconfig-dev empty, rpm errors too. Build Configuration: BB_VERSION = "1.15.3" TARGET_ARCH = "x86_64" TARGET_OS = "linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "1.2+snapshot-20120803" TUNE_FEATURES = "m64" TARGET_FPU = "" meta meta-yocto = "master:62d42fe3cfa575cb97b484ccf7b2e9a25cc50770" root@qemux86-64:~# rpm -qa | grep pkgconfig pkgconfig-dev-0.25-r4.x86_64 root@qemux86-64:~# rpm -ql pkgconfig-dev-0.25-r4.x86_64 (contains no files) root@qemux86-64:~# rpm -e pkgconfig-dev error: db3cpget:db3.c:1445: dbcursor->pget(-30999): BDB0063 DB_BUFFER_SMALL: User memory too small for return value rpm: rpmdb.c:2323: rpmmiNext: Assertion `0' failed. Aborted *** Bug 2887 has been marked as a duplicate of this bug. *** Will try to reproduce and discuss w/ upstream RPM maintainer. The long list of removed packages is expected since -dev packages have a dependnecy on pkgconfig as the system stands today. That does raise the question of why it isn't in the rootfs in the first place though! The failure is: root@sugarbay:~/sudoku-savant-1.3# rpm -e pkgconfig error: db3cpget:db3.c:1445: dbcursor->pget(-30999): BDB0063 DB_BUFFER_SMALL: User memory too small for return value rpm: rpmdb.c:2323: rpmmiNext: Assertion `0' failed. Aborted Any action after that point will require the RPM database to be reset. The locks may have held after that assert. This problem has been resolved. See commit: Poky - danny/master - eab49954002c26bab4bffd344c1fd82d8f524f6e OE-Core - master - bfb2906206158748d0be33baf7984cf885756da1 Retry with that commit. I've tested with nightly qemux86-64 / 2c3e8280e67721d42d4be48a8e2c1e9ce9bb89fd and the rpm crashes are gone. However, configure for sudoku-savant still fails because pkgconfig is missing from the sato-sdk image (this was the test in commnent #1 that led me to install pkgconfig and then remove it, perhaps a new bug should be filled for this). checking where the gettext function comes from... libc checking for pkg-config... no checking for PACKAGE... configure: error: in `/home/root/sudoku-savant-1.3': configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. root@qemux86-64:~# rpm -q --what-provides pkgconfig pkgconfig-dev-0.25-r4.x86_64 root@qemux86-64:~# rpm -ql pkgconfig-dev-0.25-r4.x86_64 (contains no files) root@qemux86-64:~# wget http://autobuilder.yoctoproject.org/pub/nightly/20121008-2/rpm/x86_64/pkgconfig-0.25-r4.x86_64.rpm root@qemux86-64:~# rpm -ivh pkgconfig-0.25-r4.x86_64.rpm Preparing... ########################################### [100%] 1:pkgconfig ########################################### [100%] root@qemux86-64:~# rpm -ql pkgconfig /usr /usr/bin /usr/bin/pkg-config /usr/share /usr/share/aclocal /usr/share/aclocal/pkg.m4 root@qemux86-64:~# rpm -q --what-provides pkgconfig pkgconfig-dev-0.25-r4.x86_64 pkgconfig-0.25-r4.x86_64 and now configure succeds. Perhaps this is wrong in meta/recipes-devtools/pkgconfig/pkgconfig.inc RREPLACES_${PN}-dev = "${PN}" > root@qemux86-64:~# rpm -q --what-provides pkgconfig > pkgconfig-dev-0.25-r4.x86_64 This is saying that pkgconfig-dev met the dependency of 'pkgconfig'. Use: rpm -qp <pkgconfig.rpm> --provides that will show you what it's providing.. my guess is something has an RDEPENDS in it. > Perhaps this is wrong in meta/recipes-devtools/pkgconfig/pkgconfig.inc > > RREPLACES_${PN}-dev = "${PN}" That is exactly what the problem would be. The -dev package has a 'replaces', which gets turning into a conflict and provide combination. This means that pkgconfig-dev will conflict w/ 'pkgconfig' causing it to not be installed, along with providing the capability. This looks like someone's attempt at satisfying the pkgconfig dependency without actually getting it installed. This looks like a defect to me. We updated the recipe to remove the offending RREPLACES line and it's installed http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c874b99075be9c4430d2848ecdbc44db11008e17 Verfied. qemux86-64 danny RC4 nightly / c9de24d3f4845251b01e2eab0aeeb7472badc5bb |