在mac osx上使用yocto构建linux时出现Pyinotify错误

时间:2017-02-16 22:32:23

标签: macos yocto pyinotify

我试图在我的Mac OSX(El Capitan)上用yocto(morty)构建一个linux。 source poky/oe-init-build-env build的源步骤成功而没有错误,但是当我执行bitbake core-image-base时,我得到以下错误跟踪:

Traceback (most recent call last):
    File     "/Users/peterblicharski/Entwicklung/dnsPro/yocto/yoctowa/poky/bitbake/bin/bitbake", line 48, in <module>
        cookerdata.CookerConfiguration()))
    File "/Users/peterblicharski/Entwicklung/dnsPro/yocto/yoctowa/poky/bitbake/lib/bb/main.py", line 468, in bitbake_main
        server = start_server(servermodule, configParams, configuration, featureset)
    File "/Users/peterblicharski/Entwicklung/dnsPro/yocto/yoctowa/poky/bitbake/lib/bb/main.py", line 354, in start_server
        cooker = bb.cooker.BBCooker(configuration, features)
    File "/Users/peterblicharski/Entwicklung/dnsPro/yocto/yoctowa/poky/bitbake/lib/bb/cooker.py", line 178, in __init__
        self.configwatcher = pyinotify.WatchManager()
    File "/Users/peterblicharski/Entwicklung/dnsPro/yocto/yoctowa/poky/bitbake/lib/pyinotify.py", line 1759, in __init__
        raise InotifyBindingNotFoundError()
pyinotify.InotifyBindingNotFoundError: Couldn't find any inotify binding
DEBUG: Removed the following variables from the environment: __CF_USER_TEXT_ENCODING, XPC_SERVICE_NAME, SECURITYSESSIONID, PS1, TERM_PROGRAM_VERSION, TMPDIR, _, TERM_PROGRAM, DISPLAY, LANG, SHLVL, GIT_PS1_SHOWDIRTYSTATE, Apple_PubSub_Socket_Render, __PYVENV_LAUNCHER__, OLDPWD, XPC_FLAGS, TERM_SESSION_ID, BUILDDIR

1 个答案:

答案 0 :(得分:0)

Mac不是受支持的构建主机,目前根本不起作用。引用Ross Burton from mailing list

  

如果您使用brew或类似工具安装所有GNU工具并将它们放在第一位   在$ PATH然后你可以开始bitbake。然后你需要剔除   bitbake中特定于linux的位。我以前开始做这项工作   已经   (http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=ross/darwin)。   下一步是确定如何配置OE以本地构建和链接   在OSX上使用LLVM而不是GCC。

     

然而,所有这些大部分都是学术性的,因为在Sierra(iirc)之后   流程的安全性更严格,这意味着伪赢了   即使你把它移植到macOS。

你的错误将成为bitbake&#34;中特定于linux的特定位的一部分。并且好像在罗斯&#39;科。但正如你所看到的那样,这不是你面临的最后一个问题。

基于讨论,可能有一些方法可以获得伪运行,但在此之后你可以修复Yocto所做的所有本机构建:我们使用的许多项目可能不经常在Mac上构建并且会失败那里。