Linux 使用SDK编译模块时抛出警告消息:找不到libelf dev

Linux 使用SDK编译模块时抛出警告消息:找不到libelf dev,linux,makefile,linux-device-driver,embedded-linux,yocto,Linux,Makefile,Linux Device Driver,Embedded Linux,Yocto,我们定制了intel core-i7-64机器,并为硬件开发了Yocto映像和SDK 在获取环境脚本并运行“makemodules\u prepare”后,我收到以下警告: Makefile:956: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" 当我编译树外模块时,同样的错误也会发生。如何删除此错误。我们需要添加哪些软件包来避免这

我们定制了intel core-i7-64机器,并为硬件开发了Yocto映像和SDK

在获取环境脚本并运行“makemodules\u prepare”后,我收到以下警告:

Makefile:956: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"

当我编译树外模块时,同样的错误也会发生。如何删除此错误。我们需要添加哪些软件包来避免这种情况。

安装libelf dev和elfutils软件包。如果您正在使用ubuntu或任何debian变体,请使用以下命令安装它们

sudo apt install libelf-dev

我们是否应该在SDK或最终映像中包含此包,我认为您应该这样做,因为它是编译依赖项。当你独立编译上游内核时,它也会出现。当我运行apt get时,它将有Intel库,而不是ARM库。这是否正确?在这两种情况下,工具链都会有所不同,每个工具链都会查看自己的库集。如果一个特定的库没有以特定的arch的编译形式出现,那么您必须为该特定的arch编译它。查看Makefile,它使用HOSTCC检查库是否存在,而不是CC。为什么这个包不包括在Ubuntu的Yocto依赖项列表中