How to solve "ERROR: ParseError in <recipe_name>: not a BitBake file"

6.6k views Asked by At

I'm using Yocto Jethro and trying to include one bitbake recipe from another. I'm also trying to see what is the minimum amount of things I need to put in a recipe so that bitbake does not error.

$ bitbake --version

BitBake Build Tool Core version 1.28.0

The first file...

# parent.bb

require child

...includes the second file...

# child.bb

Both files are in the same directory under meta/recipes-core/images/*.bb

When I try to bitbake, I get the following error:

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
>1< alain@mbp-vmw-ub1 Wed Jan 04 06:11 PM  /media/alain/Yocto/var-mx6ul-mx7-yocto-jethro/build-fb >  bitbake parent
Loading cache: 100% |########################################################################################################################################################| ETA:  00:00:00
Loaded 2775 entries from dependency cache.
ERROR: This recipe does not have the LICENSE field set (child)                                                                                                               | ETA:  --:--:--
ERROR: ParseError in child: not a BitBake file                                                                                                                               | ETA:  00:00:03

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

What is strange is that I get the same error about the missing LICENSE whether I bitbake parent or bitbake child but in both cases, the error references (child) and never (parent)

>1< alain@mbp-vmw-ub1 Wed Jan 04 06:17 PM  /media/alain/Yocto/var-mx6ul-mx7-yocto-jethro/build-fb >  bitbake child
Loading cache: 100% |########################################################################################################################################################| ETA:  00:00:00
Loaded 2775 entries from dependency cache.
ERROR: This recipe does not have the LICENSE field set (child)                                                                                                               | ETA:  --:--:--
ERROR: ParseError in child: not a BitBake file                                                                                                                               | ETA:  00:00:03

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Then, I added a LICENSE to both files:

# parent.bb

LICENSE="CLOSED"

require child

and

# child.bb

LICENSE="CLOSED"

So, now I only get the ParseError, but again whether I bitbake parent or bitbake child :

>1< alain@mbp-vmw-ub1 Wed Jan 04 06:21 PM  /media/alain/Yocto/var-mx6ul-mx7-yocto-jethro/build-fb >  bitbake parent
Loading cache: 100% |########################################################################################################################################################| ETA:  00:00:00
Loaded 2775 entries from dependency cache.
ERROR: ParseError in child: not a BitBake file                                                                                                                               | ETA:  00:00:04

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
>1< alain@mbp-vmw-ub1 Wed Jan 04 06:21 PM  /media/alain/Yocto/var-mx6ul-mx7-yocto-jethro/build-fb >  bitbake child
Loading cache: 100% |########################################################################################################################################################| ETA:  00:00:00
Loaded 2775 entries from dependency cache.
ERROR: ParseError in child: not a BitBake file                                                                                                                               | ETA:  00:00:04

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

So, my questions are:

  1. Do all recipes get parsed whether they are included or not?
  2. How to include (i.e. require) a recipe from another?
1

There are 1 answers

0
Craftonix - AA On

For question 1:

It seems that bitbake parses all recipes that are specified in bblayers.conf and meta-*/conf/layer.conf

For question 2:

# parent.bb

require child.bb