如何用bitbake用uclibc构建包 - 在尝试构建uclibc时,Bitbake引发了MultipleMatches异常

时间:2012-05-21 15:01:06

标签: linux uclibc angstrom-linux openembedded

我正在尝试通过bitbake为uclibc架构构建arm7a,但我得到以下输出

user@ubuntu:~/stuff$ bitbake -b uclibc
ERROR: Unable to match uclibc (19 matches found):
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_git.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.30.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.30.2.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/bfin-uclibc_svn.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.31.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.30.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.29.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.30.2.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.31.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.29.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_git.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.28.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.30.1.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.30.3.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.28.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc++/uclibc++_git.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/elf2flt_svn.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc-initial_0.9.30.1.bb
ERROR:     /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.30.3.bb
ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/user/stuff/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/user/stuff/bitbake/lib/bb/command.py", line 190, in buildFile
    command.cooker.buildFile(bfile, task)
  File "/home/user/stuff/bitbake/lib/bb/cooker.py", line 608, in buildFile
    buildfile = self.matchFile(fn)
  File "/home/user/stuff/bitbake/lib/bb/cooker.py", line 591, in matchFile
    raise MultipleMatches
MultipleMatches

我也在尝试建立一个特定的食谱(我做错了吗?)但我得到了

user@ubuntu:~/stuff$ bitbake -b /home/user/stuff/openembedded/recipes/uclibc/uclibc_0.9.31.bb 
ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/user/stuff/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/user/stuff/bitbake/lib/bb/command.py", line 190, in buildFile
    command.cooker.buildFile(bfile, task)
  File "/home/user/stuff/bitbake/lib/bb/cooker.py", line 618, in buildFile
    self.status.add_from_recipeinfo(vfn, info)
  File "/home/user/stuff/bitbake/lib/bb/cache.py", line 583, in add_from_recipeinfo
    for provide in info.provides:
TypeError: 'NoneType' object is not iterable

由于

1 个答案:

答案 0 :(得分:0)

我回答了我自己的问题,因为我找不到寻找这个论点的信息。我希望这不合适。所以..

首先,应该在没有bitbake选项的情况下调用-b以计算包依赖性

bitbake package

然后,没有必要直接构建uclibc,因为bitbake会在必要时自动构建它(因为你必须使用bitbake而没有-b选项)。此时它还没有完成,因为对于我的版本的Angstrom发行版(2010.x),uclibc不是由bitbake构建的默认库,而是构建了eglibc。因此,您必须添加stuff/build/conf/local.conf这一行:ANGSTROMLIBC = "uclibc",位于this faq

最后,您可以在stuff/tmp/deploy/uclibc找到所有ipk包和来源。