San*_*mar 1 linux yocto centos7
我正在尝试使用yocto项目中的bitbake构建os-image.我收到以下错误.
../util-linux-2.28.1/schedutils/chrt.c:88:17: error: ‘__NR_sched_setattr’ undeclared (first use in this function)
我按照Yocto Mega手册中的说明进行操作.如何解决这个构建错误?
当为不支持某些系统调用的内核(在本例中为sched_setattr)构建某个用户空间程序或库时,会出现此类错误消息.要么你建立在非常老的linux上(出现在3.14中),要么最有可能你正在建立的拱门不支持这个系统调用(你没有指定你正在建立哪个拱门,所以我无法检查).
无论哪种方式,都可以使用配置选项--disable-schedutils禁用util-linux的这个特定部分.在这种情况下,您不会在设备上获得chrt,ionice,taskset(过程操作)工具,但它们对您来说可能不是很有用.
在yocto构建环境中,您可以先修改util-linux的配方,实际上包含配方文件(meta/recipes-core/util-linux/util-linux.inc),添加一行:
SHARED_EXTRA_OECONF = "--disable-use-tty-group \
--disable-makeinstall-chown \
...
--disable-schedutils \
"
Run Code Online (Sandbox Code Playgroud)
并检查它是否适合您.稍后你可以添加
EXTRA_OECONF_append_util-linux = " --disable-schedutils"
Run Code Online (Sandbox Code Playgroud)
到您的conf/local.conf或工作元层中的util-linux bbappend文件(如果有的话).