我在sles上编译helloworld模块,出现一些问题(rhel、fc上没有出现这样的问题),记录之。

我装了kernel-source之后,编译自己的helloworld模块,发现有如下的错误:
chesnee6:/home/bye/modules # make -C /usr/src/linux/ SUBDIRS=$PWD modules
make: Entering directory `/usr/src/linux-2.6.5-7.139'
Makefile:438: .config: No such file or directory

WARNING: Symbol version dump /usr/src/linux-2.6.5-7.139/Module.symvers is missing, modules will have CONFIG_MODVERSIONS disabled.

CC [M] /home/bye/modules/hello-1.o
/bin/sh: line 1: scripts/basic/fixdep: No such file or directory
make[1]: *** [/home/bye/modules/hello-1.o] Error 1
make: *** [_module_/home/bye/modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.5-7.139'

这时候
需要到/usr/src/linux/下运行一下make menuconfig,不改任何配置出来并保存配置,他就会根据当前平台把对应平台的默认配置copy为.config文档,并生成一下文档。

这时候编译helloworld模块发现刚才的错误已消失,但是还是有如下的错误:
/bin/sh: line 1: scripts/modpost: No such file or directory
make[1]: *** [__modpost] Error 127
make: *** [modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.5-7.139'

我上网查了一下,发现还需要运行make modules_prepare。然后再编译helloworld模块就能够通过了。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!