Category talk:FAQ

From Openembedded.org
Revision as of 01:37, 5 April 2010 by Lele (talk | contribs) (Build Errors)
Jump to: navigation, search

10.ERROR: Nothing PROVIDES 'base-image' hi,I am lele I am new to OE and also new here.Nowadays,I am trying to build angstorm for my beagleboard. I followed the distration on this website:http://www.angstrom-distribution.org/building-angstrom but I got this problem. lele@ubuntu:~/OE$ cd openembedded/

lele@ubuntu:~/OE/openembedded$ source source-me.txt Setting up dev env for Ångström Altered environment for OE Development

lele@ubuntu:~/OE/build$ bitbake base-image NOTE: Parsing finished. 0 cached, 0 parsed, 0 skipped, 0 masked. NOTE: Cache is clean, not saving. ERROR: Nothing PROVIDES 'base-image' lele@ubuntu:~/OE/build$

Could anybody help me ?Thankyou very much~

Debugging OE Builds

OE is not perfect. Due to the size, complexity, rapid pace of development, and lack of maintainers, you will often be presented with an opportunity to debug OE builds :). Fortunately, OE is easy to debug once you know a few tricks:

1. Debugging tips

  • learn to use interactive bitbake (`bitbake -i`)
  • The BitBake `--verbose` option will print package dependencies. This is very useful when trying to determine why a package is being built.
  • The BitBake `-D` option will increase debugging level. Note `-D -D` is also a valid option and can be used to determine what conf files are being used -- look for lines begining with conf.

2. How do I re-build a failing package?

There are several options:

  • `bitbake -b <path to bb file>`
  • `bitbake <package name>`
  • start bitbake interactive mode (`bitbake -i`) and then run `build <package name>`

3. How do I clean a package?

There are several options:

  • `bitbake -b <path to bb file> -c clean`
  • `bitbake <package name> -c clean`
  • start bitbake interactive mode (`bitbake -i`) and then run `clean <package name>`

You may also put several package names after the command e.g.

  • `bitbake -c clean pack1 pack2 ...`

Sometimes you want to clean a particular package version from your build/tmp/work directory. In this case use

  • for example `bitbake -c clean gcc-cross-initial-4.1.1`

Note: You have to use the package directory name here from your work directory without the trailing `-rx`. That means there is not an underscore before the package version but a simple dash. The above is quite useful if you want to clean up a work directory from unwanted versions of the same package.

The ipk file in the directory deploy/ipk is not deleted when you perform a clean on a certain package. So make sure you manually rebuild the cleaned package in order to get an updated ipk or delete the ipk prior to a build.

4. What tasks are available for a package/recipe?

Building an OE package consists of a number of tasks. These tasks can be listed with the OE listtasks task. Each task can be run individually.

Example:

bitbake -b <path to bb file> -c listtasks
NOTE: package matchbox-0.9.1: started
NOTE: package matchbox-0.9.1-r0: task do_listtasks: started
do_listtasks
do_compile
do_stage
do_build
do_mrproper
do_fetch
do_configure
do_clean
do_emit_manifest
do_populate_staging
do_package
do_unpack
do_install
do_showdata
do_patch
NOTE: package matchbox-0.9.1-r0: task do_listtasks: completed
NOTE: package matchbox-0.9.1: completed
Build statistics:
  Attempted builds: 1

5. How do I view the value of OE variables for a package?

  • Use the BitBake command.
    • `bitbake -e ../openembedded/recipes/meta/bootstrap-image.bb`
    • `bitbake -e <package name>`
  • Use the OpenEmbedded showdata command. Ex: `bitbake -b ../openembedded/recipes/meta/bootstrap-image.bb -c showdata`

6. How do I unpack ipk files?

ipk package files can be unpackaged with the `ar` command. Ex: `ar x <path to ipk file>` You can also inspect the files inside an ipk and get other information with the dpkg command if your distribution has it.