linux-2.4.27内核编译出错,求助。

土官 2012-03-23 11:23:51
编译出错提示如下:
/home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/asm/byteorder.h:29: linux/byteorder/little_endian.h: ?????????
In file included from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/wait.h:13,
from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/fs.h:12,
from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/capability.h:17,
from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/binfmts.h:5,
from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/sched.h:9,
from /home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/mm.h:4,
from sched.c:23:
/home/gangan/backup/linux-2.4.27-vrs1-ATMEL/include/linux/kernel.h:143: #error "Please fix asm/byteorder.h"
make[2]: *** [sched.o] 错误 1
make[2]: Leaving directory `/home/gangan/backup/linux-2.4.27-vrs1-ATMEL/kernel'
make[1]: *** [first_rule] 错误 2
make[1]: Leaving directory `/home/gangan/backup/linux-2.4.27-vrs1-ATMEL/kernel'
make: *** [_dir_kernel] 错误 2




之前也make clean 和make dep ,make menuconfig 都没出错,最后make 编译时出现上面的错误,不知道是啥原因。
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanglinux 2012-03-30
  • 打赏
  • 举报
回复
看代码就知道宏__LITTLE_ENDIAN或__BIG_ENDIAN未定义,接着去查看asm/byteorder.h头文件即可。它一般会引用内核源码中的include/linux/byteorder/big_endian.h或include/linux/byteorder/little_endian.h文件,极少可能出现文件缺失的情况,错误很可能出现在解压或配置时。
[Quote=引用 3 楼 的回复:]

嗯,不过“Please fix asm/byteorder.h”在代码里是这样的
#if defined(__LITTLE_ENDIAN)
#define HIPQUAD(addr) \
((unsigned char *)&addr)[3], \
((unsigned char *)&addr)[2], \
((unsigned char *)&addr)[1……
[/Quote]
土官 2012-03-30
  • 打赏
  • 举报
回复
那内核不行啊,现在不用了。里面缺少很多文件,你要内核源代码可以去http://www.kernel.org/[Quote=引用 8 楼 的回复:]

哥们,可以把完整代码给我一份吗?如果可以直接在LINUX下编译,对于学习代码不错哦!

引用 6 楼 的回复:

终于找到问题所在了。原来是定义大小端的头文件没有。引用 4 楼 的回复:

没有声明大小端?
[/Quote]
andy_y39548 2012-03-28
  • 打赏
  • 举报
回复
从你代码来看,好像没有定义大小端的宏。你查一下__LITTLE_ENDIAN和__BIG_ENDIAN两个宏是不是定了,
pengchy 2012-03-28
  • 打赏
  • 举报
回复
没有声明大小端?
土官 2012-03-28
  • 打赏
  • 举报
回复
嗯,不过“Please fix asm/byteorder.h”在代码里是这样的
#if defined(__LITTLE_ENDIAN)
#define HIPQUAD(addr) \
((unsigned char *)&addr)[3], \
((unsigned char *)&addr)[2], \
((unsigned char *)&addr)[1], \
((unsigned char *)&addr)[0]
#elif defined(__BIG_ENDIAN)
#define HIPQUAD NIPQUAD
#else
#error "Please fix asm/byteorder.h"
#endif /* __LITTLE_ENDIAN */[Quote=引用 2 楼 的回复:]

楼主使用是atmel的处理器?估计玩过的人不多,爱莫能助啊,自己找找Please fix asm/byteorder.h的毛病吧
[/Quote]
「已注销」 2012-03-28
  • 打赏
  • 举报
回复
哥们,可以把完整代码给我一份吗?如果可以直接在LINUX下编译,对于学习代码不错哦!

[Quote=引用 6 楼 的回复:]

终于找到问题所在了。原来是定义大小端的头文件没有。引用 4 楼 的回复:

没有声明大小端?
[/Quote]
yanghoolnos 2012-03-28
  • 打赏
  • 举报
回复
没有声明大小端
土官 2012-03-28
  • 打赏
  • 举报
回复
终于找到问题所在了。原来是定义大小端的头文件没有。[Quote=引用 4 楼 的回复:]

没有声明大小端?
[/Quote]
dairyman000 2012-03-27
  • 打赏
  • 举报
回复
楼主使用是atmel的处理器?估计玩过的人不多,爱莫能助啊,自己找找Please fix asm/byteorder.h的毛病吧
土官 2012-03-26
  • 打赏
  • 举报
回复
没有高手指点帮忙,快崩溃了,跪求助。自己顶下。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧