While doing some experiments, I accidently messed up my conf/bblayers.conf file. That resulted in the following error message which confused me somewhat: ~/ostro-os/build$ bitbake tcpdump ERROR: Traceback (most recent call last): File "/home/gvancuts/ostro-os/bitbake/lib/bb/cookerdata.py", line 179, in wrapped return func(fn, *args) File "/home/gvancuts/ostro-os/bitbake/lib/bb/cookerdata.py", line 203, in parse_config_file return bb.parse.handle(fn, data, include) File "/home/gvancuts/ostro-os/bitbake/lib/bb/parse/__init__.py", line 113, in handle return h['handle'](fn, data, include) File "/home/gvancuts/ostro-os/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 124, in handle abs_fn = resolve_file(fn, data) File "/home/gvancuts/ostro-os/bitbake/lib/bb/parse/__init__.py", line 131, in resolve_file raise IOError(errno.ENOENT, "file %s not found in %s" % (fn, bbpath)) IOError: [Errno 2] file conf/bitbake.conf not found in /home/gvancuts/ostro-os/build ERROR: Unable to parse conf/bitbake.conf: [Errno 2] file conf/bitbake.conf not found in /home/gvancuts/ostro-os/build Could this be improved so that it does not refer to a conf/bitbake.conf file that does not exist?
$ bitbake --version BitBake Build Tool Core version 1.30.0 (not sure how to map that the values pre-set in the field above)
How did you mess up your bblayers.conf? bblayers.conf is actually the first configuration file that gets read and bitbake.conf is searched from the path (or list of paths) defined in BBPATH variable. So, if you e.g. remove all layers from BBLAYERS it will search for "conf/bitbake.conf" in your build directory as bblayers.conf contains (by default) BBPATH = "${TOPDIR}" How would you expect bitbake to behave differently?
I'm not expecting bitbake to behave much differently than today but the error message could be improved. I have never had a conf/bitbake.conf file in my system so this puzzled me quite a bit until I realised it may have something to do with me tweaking (and messing up) my bblayers.conf. Couldn't bitbake catch that there is a problem with the bblayers.conf file it parsed and spit out an error message that the parsing failed (+ indicate exactly which file was not parsed correctly)? I had manually commented out a line in my bblayers.conf as follows: BBLAYERS ?= " \ ${OSTRO_LAYERS} \ # /home/gvancuts/meta-intel-sofia \ " As an example of what I'd like to see, the error it generates for the following (still wrong, note the empty line) content is, for example, better: BBLAYERS ?= " \ ${OSTRO_LAYERS} \ " Here is the error message it gives in this case: ERROR: ParseError at /home/gvancuts/ostro-os/build-ostro/conf/bblayers.conf:55: unparsed line: 'BBLAYERS ?= " ${OSTRO_LAYERS} '
I'm still not able to reproduce exactly the same error you got, with the same kind of typo that you got. If I erroneously try to "comment out" a line from BBLAYERS, I get an error like: IOError: [Errno 2] file #/conf/layer.conf not found in /home/marquiz/yocto/openembedded-core/build This is very misleading, too, and I just submitted a patch to fix that: http://patchwork.openembedded.org/patch/123273/ Does this fix your problems or are there still some misleading errors you're seeing?
Hi Markus, I'm seeing the same errors as you do. I have tried to go back in history but I cannot, for the life of me, reproduce the exact same error message I was getting. It does not help that I did not write down exactly how I had messed up my bblayers.conf file originally... your patch looks good and certainly generates a much more relevant error message. Let's close this bug based on that. If I ever run across the original error message again, I'll file a new ticket. Thanks!
OK, thanks Geoffroy. I'll close this one when my patch gets merged. You may then re-open if you see more issues.
Fixed in bitbake 32c9689e4b492dc5821749e284e397d717af2a6c.