3

我正在尝试在我的 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
4

1 回答 1

0

Mac 不是受支持的构建主机,目前根本无法运行。从邮件列表中引用罗斯伯顿:

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

然而,所有这些主要是学术性的,因为从 Sierra (iirc) 开始,进程的安全性更加严格,这意味着即使将伪移植到 macOS 也无法工作。

您的错误将是“bitbake 中特定于 linux 的位”的一部分,并且似乎可以在 ross 的分支中解决。但正如您所看到的,这不是您将面临的最后一个问题。

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

于 2017-02-17T09:54:27.410 回答