Search code examples
yoctobitbake

Bitbake hello world example fails


I'm following this tutorial: https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-hello.html

My bitbake version is 1.50.0 and BBPATH is following:

export BBPATH="/home/testusr/projects/bitbake_example/bitbake_sample_project/hello"

and I'm at the last step of the tutorial with following file structure:

/home/testusr/projects/bitbake_example/bitbake_sample_project $ tree
.
├── hello
│   ├── classes
│   │   └── base.bbclass
│   └── conf
│       ├── bblayers.conf
│       └── bitbake.conf
└── mylayer
    ├── conf
    │   └── layer.conf
    └── printhello.bb

The problem is when I try to build that:

/home/testusr/projects/bitbake_example/bitbake_sample_project/hello $ bitbake printhello
WARNING: Layer mylayer should set LAYERSERIES_COMPAT_mylayer in its conf/layer.conf file to list the core layer names it is compatible with.
Loading cache: 100% |                                                                                                       | ETA:  --:--:--
Loaded 0 entries from dependency cache.
WARNING: No bb files in default matched BBFILE_PATTERN_mylayer '^\/home\/testusr\/projects\/bitbake_example\/bitbake_sample_project\/mylayer/'
ERROR: Nothing PROVIDES 'printhello'

The warning is saying that there are no bb files under: /home/testusr/projects/bitbake_example/bitbake_sample_project/mylayer/

but this file is clearly there as can be seen in tree output, so I'm totally confused.


Solution

  • The problem was with the tutorial in layer.conf file. It had:

    BBFILES += "${LAYERDIR}/\*.bb"
    

    Instead of:

    BBFILES += "${LAYERDIR}/*.bb"
    

    and that's why it couldn't be found.