Discussion:
poky-image-minimal-1.0-r0:Unable to find package rpm!
Frans Meulenbroeks
2010-11-24 19:36:48 UTC
Permalink
I was trying to build poky-image-minimal (git head of nov 20).
Host: opensuse 11.2
target: sheevaplug (I added the machine config and kernel from openembedded)

However creating the rootfs fails because it is unable to find package rpm
| Generating solve db for /home/frans/poky/poky/build/tmp/deploy/rpm/all...
| total: 1 0.000000 MB 0.040881 secs
| order: 1 0.000000 MB 0.001868 secs
| fingerprint: 8 0.000012 MB 0.005083 secs
| install: 6 0.000000 MB 0.019365 secs
| dbadd: 6 0.000000 MB 0.011130 secs
| dbget: 42 0.002104 MB 0.000201 secs
| dbput: 36 0.010632 MB 0.000211 secs
| readhdr: 61 0.026472 MB 0.000086 secs
| hdrload: 117 0.120676 MB 0.001023 secs
| hdrget: 2165 0.000000 MB 0.002120 secs
| Generating solve db for
/home/frans/poky/poky/build/tmp/deploy/rpm/sheevaplug...
| total: 1 0.000000 MB 1.254377 secs
| order: 1 0.000000 MB 0.219998 secs
| fingerprint: 636 0.011898 MB 0.162803 secs
| install: 324 0.000000 MB 0.406294 secs
| dbadd: 324 0.000000 MB 0.195005 secs
| dbget: 13518 1.836616 MB 0.032052 secs
| dbput: 7569 3.166056 MB 0.044126 secs
| readhdr: 3241 2.832352 MB 0.005657 secs
| hdrload: 263898 377.876436 MB 1.761324 secs
| hdrget: 5288960 0.000000 MB 5.243508 secs
| Processing task-poky-boot...
| Processing rpm...
| Unable to find package rpm!
| ERROR: Task failed: ('function do_rootfs failed',
'/home/frans/poky/poky/build/tmp/work/sheevaplug-poky-linux-gnueabi/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6436')
NOTE: package poky-image-minimal-1.0-r0: task do_rootfs: Failed
ERROR: Task 10 (/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb,
do_rootfs) failed with 1
ERROR: '/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb'
failed

rpm is installed on the host
packaged rpm and rpm-native build so it does not seem to be a missing
dependency.

Anyone an idea?

BTW: I feel that building poky-image-minimal takes quite long.
I don't have a very high end PC (D920, core2 duo at 3Ghz or so, with
4GB DDR2), but when I tried to build poky-image-minimal a second
time, no work needed to be done, apart from do_rootfs.
Yet running the 1839 (of 1842) tasks took 11min25.

Frans

PS: this is with otherwise out-of-the-box settings, so I did not
modify conf files or so.
Mark Hatle
2010-11-24 20:00:20 UTC
Permalink
Post by Frans Meulenbroeks
I was trying to build poky-image-minimal (git head of nov 20).
| Processing task-poky-boot...
| Processing rpm...
| Unable to find package rpm!
| ERROR: Task failed: ('function do_rootfs failed',
'/home/frans/poky/poky/build/tmp/work/sheevaplug-poky-linux-gnueabi/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6436')
The task you build had an explicit requirement for 'rpm' (the package). It's
saying it was unable to find that package.

I'm not sure how to track down where that requirement came from though.

You might be able to work around it by doing a "bitbake rpm"...
Post by Frans Meulenbroeks
NOTE: package poky-image-minimal-1.0-r0: task do_rootfs: Failed
ERROR: Task 10 (/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb,
do_rootfs) failed with 1
ERROR: '/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb'
failed
rpm is installed on the host
packaged rpm and rpm-native build so it does not seem to be a missing
dependency.
Anyone an idea?
BTW: I feel that building poky-image-minimal takes quite long.
I don't have a very high end PC (D920, core2 duo at 3Ghz or so, with
4GB DDR2), but when I tried to build poky-image-minimal a second
time, no work needed to be done, apart from do_rootfs.
Yet running the 1839 (of 1842) tasks took 11min25.
There is currently a lot of extra processing during task executation. Each task
takes approx 1-2 seconds of processing. A large number of the 1839 were likely
skipped.. thus the 11 minutes.

We're already working on a solution to this. Between optimizing the setup of
the bitbake environment and changes in pseudo -- to facilitate the task executor
avoiding exec unless necessary.

--Mark
Post by Frans Meulenbroeks
Frans
PS: this is with otherwise out-of-the-box settings, so I did not
modify conf files or so.
_______________________________________________
yocto mailing list
https://lists.yoctoproject.org/listinfo/yocto
Frans Meulenbroeks
2010-11-24 20:21:28 UTC
Permalink
Mark, thanks for your reply!
Post by Frans Meulenbroeks
I was trying to build poky-image-minimal (git head of nov 20).
| Processing task-poky-boot...
| Processing rpm...
| Unable to find package rpm!
| ERROR: Task failed: ('function do_rootfs failed',
'/home/frans/poky/poky/build/tmp/work/sheevaplug-poky-linux-gnueabi/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6436')
The task you build had an explicit requirement for 'rpm' (the package).  It's
saying it was unable to find that package.
I'm not sure how to track down where that requirement came from though.
You might be able to work around it by doing a "bitbake rpm"...
Nope, tried that.
Here is a snippet from my history:
1004 . poky-init-build-env
1005 bitbake poky-image-minimal
1006 bitbake rpm
1007 bitbake poky-image-minimal
1008 rpm
1009 git log
1010 bitbake rpm-native
1011 time bitbake poky-image-minimal
even the last one gives the rpm error (and inbetween I did build rpm,
check for a native rpm and build rpm-native)

It comes from the image recipe which contains:
./images/poky-image-minimal.bb:IMAGE_INSTALL = "task-poky-boot
${ROOTFS_PKGMANAGE}"
I assume by default I get rpm as package management (I am using the
default values afaik).
If it is rpm this comes from:
./classes/rootfs_rpm.bbclass:ROOTFS_PKGMANAGE = "rpm zypper"

I guess this is something beyond a missing dependency.
Post by Frans Meulenbroeks
NOTE: package poky-image-minimal-1.0-r0: task do_rootfs: Failed
ERROR: Task 10 (/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb,
do_rootfs) failed with 1
ERROR: '/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb'
failed
rpm is installed on the host
packaged rpm and rpm-native build so it does not seem to be a missing
dependency.
Anyone an idea?
BTW: I feel that building poky-image-minimal takes quite long.
I don't have a very high end PC (D920, core2 duo at 3Ghz or so, with
4GB DDR2), but  when I tried to build poky-image-minimal a second
time, no work needed to be done, apart from do_rootfs.
Yet running the 1839 (of 1842) tasks took 11min25.
There is currently a lot of extra processing during task executation.  Each task
takes approx 1-2 seconds of processing.  A large number of the 1839 were likely
skipped.. thus the 11 minutes.
We're already working on a solution to this.  Between optimizing the setup of
the bitbake environment and changes in pseudo -- to facilitate the task executor
avoiding exec unless necessary.
don't know all differences between OE and yocto yet.
poky always seems to execute do_build, do_package_write and do_rm_work
OE does seem to skip all steps if the stamps say everything is build.


Frans (eFfeM on irc)
Mark Hatle
2010-11-24 20:29:22 UTC
Permalink
Post by Frans Meulenbroeks
Mark, thanks for your reply!
Post by Mark Hatle
Post by Frans Meulenbroeks
I was trying to build poky-image-minimal (git head of nov 20).
| Processing task-poky-boot...
| Processing rpm...
| Unable to find package rpm!
| ERROR: Task failed: ('function do_rootfs failed',
'/home/frans/poky/poky/build/tmp/work/sheevaplug-poky-linux-gnueabi/poky-image-minimal-1.0-r0/temp/log.do_rootfs.6436')
The task you build had an explicit requirement for 'rpm' (the package). It's
saying it was unable to find that package.
I'm not sure how to track down where that requirement came from though.
You might be able to work around it by doing a "bitbake rpm"...
The files in question would be tmp/deploy/rpm/mips/rpm-5.1.10-r7.mips.rpm (or
similar)

That should exist.. If it doesn't something went wrong with the build of the
package.

If it does, look in the directory (that has the RPM package) for a directory
called "solvedb". Assuming that exists.. then the solver should be setup/loaded
and the package should be available.

But the actual failure is rpm unable to find a package called "rpm" within the
resolver databases that are being consulted.

The other thing to look at is the tmp/deploy/rpm .. there is a solvedb.conf and
solvedb.macro

Both of those should list out the solvers that it consults. If the directory
that the rpm package is in, is not in that list.. then something went wrong
during that setup.

--Mark
Post by Frans Meulenbroeks
Nope, tried that.
1004 . poky-init-build-env
1005 bitbake poky-image-minimal
1006 bitbake rpm
1007 bitbake poky-image-minimal
1008 rpm
1009 git log
1010 bitbake rpm-native
1011 time bitbake poky-image-minimal
even the last one gives the rpm error (and inbetween I did build rpm,
check for a native rpm and build rpm-native)
./images/poky-image-minimal.bb:IMAGE_INSTALL = "task-poky-boot
${ROOTFS_PKGMANAGE}"
I assume by default I get rpm as package management (I am using the
default values afaik).
./classes/rootfs_rpm.bbclass:ROOTFS_PKGMANAGE = "rpm zypper"
I guess this is something beyond a missing dependency.
Post by Mark Hatle
Post by Frans Meulenbroeks
NOTE: package poky-image-minimal-1.0-r0: task do_rootfs: Failed
ERROR: Task 10 (/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb,
do_rootfs) failed with 1
ERROR: '/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb'
failed
rpm is installed on the host
packaged rpm and rpm-native build so it does not seem to be a missing
dependency.
Anyone an idea?
BTW: I feel that building poky-image-minimal takes quite long.
I don't have a very high end PC (D920, core2 duo at 3Ghz or so, with
4GB DDR2), but when I tried to build poky-image-minimal a second
time, no work needed to be done, apart from do_rootfs.
Yet running the 1839 (of 1842) tasks took 11min25.
There is currently a lot of extra processing during task executation. Each task
takes approx 1-2 seconds of processing. A large number of the 1839 were likely
skipped.. thus the 11 minutes.
We're already working on a solution to this. Between optimizing the setup of
the bitbake environment and changes in pseudo -- to facilitate the task executor
avoiding exec unless necessary.
don't know all differences between OE and yocto yet.
poky always seems to execute do_build, do_package_write and do_rm_work
OE does seem to skip all steps if the stamps say everything is build.
Frans (eFfeM on irc)
Frans Meulenbroeks
2010-11-24 22:05:02 UTC
Permalink
Post by Mark Hatle
The files in question would be tmp/deploy/rpm/mips/rpm-5.1.10-r7.mips.rpm (or
similar)
That should exist..  If it doesn't something went wrong with the build of the
package.
If it does, look in the directory (that has the RPM package) for a directory
called "solvedb".  Assuming that exists.. then the solver should be setup/loaded
and the package should be available.
But the actual failure is rpm unable to find a package called "rpm" within the
resolver databases that are being consulted.
The other thing to look at is the tmp/deploy/rpm  .. there is a solvedb.conf and
solvedb.macro
Both of those should list out the solvers that it consults.  If the directory
that the rpm package is in, is not in that list.. then something went wrong
during that setup.
--Mark
Thanks, that was a good help.
There was no solvedb dir.
My machine.conf file was missing
PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
(maybe the omission of this var could be considered as an error).

But that almost immediately brought me to the next issue:
rpm and zypper install fine, but I get an eglibc error
| error: Failed dependencies:
| eglibc >= 2.12 is needed by sysvinit-2.88dsf-r1.armv5te

and I do not see an eglibc package (but I do have
eglibc-pic-2.12-r12.armv5te.rpm as well as quite a lot of subpackages,

eg.
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-hp-greek8-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-es-pa.iso-8859-1-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-iso14651-t1-pinyin-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-charmap-viscii-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-gl-es-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-ibm1124-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-or-in-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-ecma-cyrillic-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-cv-ru-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-id-id.iso-8859-1-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-lt-lt-2.12-r12.armv5te.rpm

Guess it'll be tomorrow before I get to that.

Frans
Mark Hatle
2010-11-25 00:53:53 UTC
Permalink
Post by Frans Meulenbroeks
Post by Mark Hatle
The files in question would be tmp/deploy/rpm/mips/rpm-5.1.10-r7.mips.rpm (or
similar)
That should exist.. If it doesn't something went wrong with the build of the
package.
If it does, look in the directory (that has the RPM package) for a directory
called "solvedb". Assuming that exists.. then the solver should be setup/loaded
and the package should be available.
But the actual failure is rpm unable to find a package called "rpm" within the
resolver databases that are being consulted.
The other thing to look at is the tmp/deploy/rpm .. there is a solvedb.conf and
solvedb.macro
Both of those should list out the solvers that it consults. If the directory
that the rpm package is in, is not in that list.. then something went wrong
during that setup.
--Mark
Thanks, that was a good help.
There was no solvedb dir.
My machine.conf file was missing
PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
(maybe the omission of this var could be considered as an error).
rpm and zypper install fine, but I get an eglibc error
| eglibc >= 2.12 is needed by sysvinit-2.88dsf-r1.armv5te
If the ARCHs were wrong, then the dependencies wouldn't have been re-written
properly during the build. This is something I don't like about the way OE/Poky
do things.. (dynamically re-write dependencies) but I'm not sure of a way to
resolve it.

You need to either completely rebuild -- or find a way to clear all of the
stamps for the packaging.. (once the packaging is re-done the dependencies will
be corrected)

--Mark
Post by Frans Meulenbroeks
and I do not see an eglibc package (but I do have
eglibc-pic-2.12-r12.armv5te.rpm as well as quite a lot of subpackages,
eg.
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-hp-greek8-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-es-pa.iso-8859-1-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-iso14651-t1-pinyin-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-charmap-viscii-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-gl-es-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-ibm1124-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-or-in-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-gconv-ecma-cyrillic-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-cv-ru-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-binary-localedata-id-id.iso-8859-1-2.12-r12.armv5te.rpm
manifest:/home/frans/poky/poky/build/tmp/deploy/rpm/armv5te/eglibc-localedata-lt-lt-2.12-r12.armv5te.rpm
Guess it'll be tomorrow before I get to that.
Frans
Tian, Kevin
2010-11-25 07:06:24 UTC
Permalink
From: Frans Meulenbroeks
Sent: Thursday, November 25, 2010 4:21 AM
Mark, thanks for your reply!
Post by Frans Meulenbroeks
I was trying to build poky-image-minimal (git head of nov 20).
| Processing task-poky-boot...
| Processing rpm...
| Unable to find package rpm!
| ERROR: Task failed: ('function do_rootfs failed',
'/home/frans/poky/poky/build/tmp/work/sheevaplug-poky-linux-gnueabi/poky-image-mi
nimal-1.0-r0/temp/log.do_rootfs.6436')
The task you build had an explicit requirement for 'rpm' (the package).  It's
saying it was unable to find that package.
I'm not sure how to track down where that requirement came from though.
You might be able to work around it by doing a "bitbake rpm"...
Nope, tried that.
1004 . poky-init-build-env
1005 bitbake poky-image-minimal
1006 bitbake rpm
1007 bitbake poky-image-minimal
1008 rpm
1009 git log
1010 bitbake rpm-native
1011 time bitbake poky-image-minimal
even the last one gives the rpm error (and inbetween I did build rpm,
check for a native rpm and build rpm-native)
./images/poky-image-minimal.bb:IMAGE_INSTALL = "task-poky-boot
${ROOTFS_PKGMANAGE}"
I assume by default I get rpm as package management (I am using the
default values afaik).
./classes/rootfs_rpm.bbclass:ROOTFS_PKGMANAGE = "rpm zypper"
I guess this is something beyond a missing dependency.
Post by Frans Meulenbroeks
NOTE: package poky-image-minimal-1.0-r0: task do_rootfs: Failed
ERROR: Task 10
(/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb,
Post by Frans Meulenbroeks
do_rootfs) failed with 1
ERROR: '/home/frans/poky/poky/meta/recipes-core/images/poky-image-minimal.bb'
failed
rpm is installed on the host
packaged rpm and rpm-native build so it does not seem to be a missing
dependency.
Anyone an idea?
BTW: I feel that building poky-image-minimal takes quite long.
I don't have a very high end PC (D920, core2 duo at 3Ghz or so, with
4GB DDR2), but  when I tried to build poky-image-minimal a second
time, no work needed to be done, apart from do_rootfs.
Yet running the 1839 (of 1842) tasks took 11min25.
There is currently a lot of extra processing during task executation.  Each task
takes approx 1-2 seconds of processing.  A large number of the 1839 were likely
skipped.. thus the 11 minutes.
We're already working on a solution to this.  Between optimizing the setup of
the bitbake environment and changes in pseudo -- to facilitate the task executor
avoiding exec unless necessary.
don't know all differences between OE and yocto yet.
poky always seems to execute do_build, do_package_write and do_rm_work
OE does seem to skip all steps if the stamps say everything is build.
Previously Poky uses fork and now uses exec, due to the introduction of pseudo
which wraps both shell and python tasks now (previously fakeroot only wraps
shell tasks). However there's a problem how to map parsed database into an
exec pythonchild, and then Richard adopts a simple approach to have the child
process reparse from scratch. That takes ~2s as Mark pointed out and thus
extends the whole build time.

Now we're working on a solution for this issue, along with several other performance
enhancement points.

Thanks
Kevin
Frans Meulenbroeks
2010-11-25 08:54:39 UTC
Permalink
Kevin, Mark,

Thanks for yoru support.
I'll try to nuke the packaging stamps tonight to see if that helps,
otherwise I guess it'll be a complete rebuild.

Wrt timing: I'll wait for the solution. I hope the parallel parsing
patches from Chris Larson will also make it into poky/yocto soon.

Frans

Loading...