【问题标题】:Pyinotify error when building linux with yocto on mac osx在 mac osx 上使用 yocto 构建 linux 时出现 Pyinotify 错误
【发布时间】:2017-02-16 22:32:22
【问题描述】:

我正在尝试在我的 Mac OSX (El Capitan) 上使用 yocto (morty) 构建一个 linux。 source poky/oe-init-build-env buildsucceeded 的源步骤没有错误,但是当我执行 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

【问题讨论】:

    标签: macos yocto pyinotify


    【解决方案1】:

    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 中特定于 linux 的位”的一部分,并且似乎可以在 ross 的分支中解决。但正如您所见,这不是您将面临的最后一个问题。

    根据讨论,可能有一些方法可以实现伪运行,但之后您将修复 Yocto 所做的所有本机构建:很可能我们使用的许多项目并不经常在 Mac 上构建,并且会在 Mac 上失败。

    【讨论】:

    • Ross 的分支消失了。我已经开始了类似的努力 (github.com/thinkski/poky/commits/macos)。将pyinotify 替换为macfsevents,尽管仍在进行中——不幸的是,还有更多特定于Linux 的位。
    猜你喜欢
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多