asm/posix_types.h: No such file or directory

发布于 2022-10-15 09:16:13 字数 1318 浏览 24 评论 0

本帖最后由 b06050319 于 2011-04-18 22:35 编辑

新编译了linux-2.6.27的内核,拿以前编译通过的一个很简单的模块,修改Makefile ,在这内核里编译,结果出现以下错误,我到/arch/arm/include/asm里面看了下posix_types.h文件时存在的,为什么这里会出现这种错误呢?
我猜想可能是内核编译的配置问题,有高手或者遇到相同问题的,麻烦指点下
make -C /home/linux-2.6.27/linux-2.6.27 M=/home/lww/work/printk modules
make[1]: Entering directory `/home/linux-2.6.27/linux-2.6.27'
  CC [M]  /home/lww/work/printk/main.o
In file included from include/linux/types.h:11,
                 from include/linux/prefetch.h:13,
                 from include/linux/list.h:6,
                 from include/linux/module.h:9,
                 from /home/lww/work/printk/main.c:2:
include/linux/posix_types.h:47: fatal error: asm/posix_types.h: No such file or directory
compilation terminated.
make[2]: *** [/home/lww/work/printk/main.o] Error 1
make[1]: *** [_module_/home/lww/work/printk] Error 2
make[1]: Leaving directory `/home/linux-2.6.27/linux-2.6.27'
make: *** [modules] Error 2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深海不蓝 2022-10-22 09:16:13

回复 1# b06050319

    我觉得这个应该是gcc在指定目录中查找头文件的问题,编译模块的时候make会在linux源码目录下的/include目录下查找包含的头文件,而不会到/arch/arm/include/asm这个目录下去找,所以make程序会提示你找不到所需的头文件。
    另外源码目录当中用多个posix_types.h,应该指明具体包含的是哪一个比如:#include</linux/posix_types.h>

神妖 2022-10-22 09:16:13

本帖最后由 b06050319 于 2011-04-19 20:48 编辑

thanks for the reply,

各空 2022-10-22 09:16:13

回复 2# dolphin1987
thanks for the reply,
  我的模块没有用到那asm/posix_types.h文件,
我的模块就是一个
#include<linux/module.h>
#include<linux/init.h>
static int __init hello_init(void)
{
    printk("hello");
     return 0;
}
static void __eixt hello_exit(void)
{
    printk("bye");
}
module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("xxxx");
最简单的模块,Makefile没有问题,我觉得可能是哪个patch或者哪个选项没选过。
我的内核这样编译的,
make ARCH=arm at91sam9g20ek_defconfig
make ARCH=arm oldconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-none-linu-gnueabi-
然后就编译成功了,但是编译模块时就会出现上面的错误

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文