当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 模块make clean方法后第二次编译提示找不到文件了.
帖子发表于 : 2009-03-11 10:41 

注册: 2007-10-14 0:11
帖子: 274
送出感谢: 0 次
接收感谢: 0 次
我有个模块第一次编译成功了,并且加载也没错.不过insmod后提示是[permanent]。重启后发现他不在modules列表中,就想重新编译下。
第一次:
在编译的时候用的命令是:make -C /lib/modules/`uname -r`/build M=`pwd` modules
安装模块:make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
加载模块时用:modprobe redirfs。但是这个没成功,用insmod搞定了。

然后模仿网上有个帖子clean了一下:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

这个时候发现目录下的编译模块的文件并没有删除(或许删除了个别文件我没发现,但是大部分都还在)。删掉这个目录,又拿源文件就是没有编译过的,重新编译。但是却提示少了文件:

boluor@boluor-laptop:~/SoftWares/redirfs-0.6$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
make:进入目录'/usr/src/linux-headers-2.6.27-11-generic'
CC [M] /home/boluor/SoftWares/redirfs-0.6/rfs_path.o
In file included from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from include/linux/percpu.h:5,
from include/linux/rcupdate.h:39,
from include/linux/sem.h:81,
from include/linux/sched.h:69,
from /home/boluor/SoftWares/redirfs-0.6/rfs.h:29,
from /home/boluor/SoftWares/redirfs-0.6/rfs_path.c:24:
include/linux/mmzone.h:18:26: error: linux/bounds.h: 没有该文件或目录
include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined
In file included from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from include/linux/percpu.h:5,
from include/linux/rcupdate.h:39,
from include/linux/sem.h:81,
from include/linux/sched.h:69,
from /home/boluor/SoftWares/redirfs-0.6/rfs.h:29,
from /home/boluor/SoftWares/redirfs-0.6/rfs_path.c:24:
include/linux/mmzone.h:218: 错误: ‘MAX_NR_ZONES’未声明(不在函数内)
make[1]: *** [/home/boluor/SoftWares/redirfs-0.6/rfs_path.o] 错误 1
make: *** [_module_/home/boluor/SoftWares/redirfs-0.6] 错误 2

---------------------------------------

谁能告诉我是什么原因阿?难道那个clean方法把bounds.h给删掉了?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 模块make clean方法后第二次编译提示找不到文件了.
帖子发表于 : 2009-03-11 22:22 

注册: 2007-10-14 0:11
帖子: 274
送出感谢: 0 次
接收感谢: 0 次
搞定了,去朋友机子上拷贝了bounds.h就搞定了。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 模块make clean方法后第二次编译提示找不到文件了.
帖子发表于 : 2009-04-23 21:31 
头像

注册: 2005-12-13 13:51
帖子: 17
地址: 成都理工大学
系统: Mac Mavericks/Ubuntu
送出感谢: 0 次
接收感谢: 0 次
到/usr/src/linux下或你对应的内核版本的源码目录下执行 make prepare 就ok了


_________________
互相宽容的朋友一定百年同舟;
互相宽容的夫妻一定百年共枕;
互相宽容的世界一定和平美丽。

有心能知,有情能爱,有缘能聚,有梦能圆。
http://wuqiong.info
http://www.diveinedu.com

Lenovo F41AT2390 /Ubuntu 13.04
2G Mem + 160G HDD +Nvidia 8400GS + Broadcom BCM4312 wireless card


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 模块make clean方法后第二次编译提示找不到文件了.
帖子发表于 : 2009-04-25 2:01 

注册: 2007-10-14 0:11
帖子: 274
送出感谢: 0 次
接收感谢: 0 次
gemy 写道:
到/usr/src/linux下或你对应的内核版本的源码目录下执行 make prepare 就ok了

thank you!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译