请教LDD第三版的scull编译问题
我在FC10 内核2.6.27下编译oreilly官网给的scull代码
报错如下:
make: Entering directory `/usr/src/kernels/2.6.27.9-159.fc10.i686'
scripts/Makefile.build:46: *** CFLAGS was changed in "/tmp/LDD3_src/scull/Makefile". Fix it to use EXTRA_CFLAGS。 停止。
make: *** [_module_/tmp/LDD3_src/scull] 错误 2
make: Leaving directory `/usr/src/kernels/2.6.27.9-159.fc10.i686'
是不是Makefile的问题,或者是内核版本的问题?请高手指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
内核版本错误。
将下面这段代码注释掉可以临时解决问题(源码目录/scripts/Makefile.build文件)
44ifeq ($(KBUILD_NOPEDANTIC),)
45 ifneq ("$(save-cflags)","$(CFLAGS)")
46 $(error CFLAGS was changed in "$(kbuild-file)". Fix it to use EXTRA_CFLAGS)
47 endif
48endif
谢谢,我将CFLAG全部换成EXTRA_CFLAG,就成功了!
但是我没有搞清原因,您知道吗?
你看看上面我给你引出来那几行脚本,就是说,在新版本的内核中,CFLAGS已经改成EXTRA_CFLAGS了
[root@localhost scull]# make modules
make -C /home/alu/mywork/systems/linux-2.6.22.6 M=/home/soso/ldd3/scull modules
make[1]: Entering directory `/home/alu/mywork/systems/linux-2.6.22.6'
CC [M] /home/soso/ldd3/scull/scull_t1.o
cc1: invalid option `little-endian'
cc1: invalid option `arm'
cc1: invalid option `apcs'
cc1: invalid option `no-sched-prolog'
cc1: invalid option `apcs-32'
cc1: invalid option `no-thumb-interwork'
cc1: invalid option `tune=arm9tdmi'
cc1: invalid option `alignment-traps'
cc1: unrecognized option `-Wdeclaration-after-statement'
make[2]: *** [/home/soso/ldd3/scull/scull_t1.o] 错误 1
make[1]: *** [_module_/home/soso/ldd3/scull] 错误 2
make[1]: Leaving directory `/home/alu/mywork/systems/linux-2.6.22.6'
make: *** [modules] 错误 2
这个也是版本问题吗???