解决3.2.0 kernel编译问题:ERROR: "__modver_version_show"
2013-03-03 15:48
435 查看
安装的是ubuntu 11.10,下载3.2.0的kernel,先编译kernel,结果碰到如下出错信息:
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
安装原来的编译经验,应该是__modver_version_show未实现,或者实现体未编译进来,但是发现params.c中已经实现,params.o已生成并有链接,module.h中也有声明,但是有宏分割。怀疑是宏达问题,研究了半天makefile和头文件包含,未果。放狗上网一搜,发现在3.0.0开始,国外的国内的网站、论坛上就已经有人陆陆续续反映这个问题。有一些解决方法,但是发现在3.2.0中已经引入了,而问题依旧。没办法,只能自力更生了。
常规思路,既然解决不了,就研究研究有没有办法规避。前面编译过2.6.25.11的kernel没有发现过此问题,对比代码发现__modver_version_show函数定义实现是新引入的(个人猜测是3.0.0开始引入的)。然后再看了下staging这个目录的用途,说是一些不成熟驱动代码的专用目录,主要是希望放到社区上让大家测试的,成熟以后再并入主干。哈哈,眼睛一亮,好,既然是不成熟,哥就把它阉割掉,应该对系统没啥影响。想到就做,在make menuconfig配置选项中找到了(device driver中)staging这个配置项,直接选择为N([]中为空),重新编译,问题解决。
3.2.0 kernel能正常启动,打RT补丁正常,RT Linux启动正常。
这个问题对开发人员来说应该只是个小问题,但苦于对linux不熟,让哥这个老程序员急切间还真是无从下手,放狗网上也没搜到啥有用的解决方法。估计还有很多像哥一样的入门人浪费时间在这个问题上,所以特把解决方法说出来,共享之!
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
安装原来的编译经验,应该是__modver_version_show未实现,或者实现体未编译进来,但是发现params.c中已经实现,params.o已生成并有链接,module.h中也有声明,但是有宏分割。怀疑是宏达问题,研究了半天makefile和头文件包含,未果。放狗上网一搜,发现在3.0.0开始,国外的国内的网站、论坛上就已经有人陆陆续续反映这个问题。有一些解决方法,但是发现在3.2.0中已经引入了,而问题依旧。没办法,只能自力更生了。
常规思路,既然解决不了,就研究研究有没有办法规避。前面编译过2.6.25.11的kernel没有发现过此问题,对比代码发现__modver_version_show函数定义实现是新引入的(个人猜测是3.0.0开始引入的)。然后再看了下staging这个目录的用途,说是一些不成熟驱动代码的专用目录,主要是希望放到社区上让大家测试的,成熟以后再并入主干。哈哈,眼睛一亮,好,既然是不成熟,哥就把它阉割掉,应该对系统没啥影响。想到就做,在make menuconfig配置选项中找到了(device driver中)staging这个配置项,直接选择为N([]中为空),重新编译,问题解决。
3.2.0 kernel能正常启动,打RT补丁正常,RT Linux启动正常。
这个问题对开发人员来说应该只是个小问题,但苦于对linux不熟,让哥这个老程序员急切间还真是无从下手,放狗网上也没搜到啥有用的解决方法。估计还有很多像哥一样的入门人浪费时间在这个问题上,所以特把解决方法说出来,共享之!
相关文章推荐
- 编译eclair碰到java version "1.5.0_18"问题的解决
- centos解决The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers.问题
- "symbol lookup error"问题解决
- 关于JCreator在编译程序时出现的"Error:Invalid path"问题的解决方法
- ffmpeg libx264编译出现error: undefined reference to 'x264_picture_init'等问题的解决方法
- An internal error occurred during: "Updating Maven Project". Unsupported I问题解决备忘
- Android 源码编译问题:Your version is: java version "1.6.0_27".The correct version is: Java SE 1.6.
- linux 编译 kernel 3.3 以上关于 bnx2 网卡加载失败问题 bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
- "http://android.git.kernel.org/repo 打不开"问题解决
- centos解决The path "" is not a valid path to the 3.2.0-4-amd64 kernel headers.问题
- Exception in thread "main" java.lang.UnsupportedClassVersionError: 问题
- error LNK2019: unresolved external symbol "__declspec(dllimport) void 遇到的问题以及解决办法
- 解决IDEA编译通过能运行但是出现红色下划线的问题idea cant resolve symbol"xxx"
- R语言-Error in file(out, "wt") : 无法打开链结问题解决
- 用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0'"问题的解决
- [解决问题][不能更新eclipse]错误提示:Error retrieving "feature.xml". [error in opening zip file]
- 解决tcpdump "drop by kernel" 问题
- Android SDK 1.5 "--core-library" build error问题解决方法
- "symbol lookup error"问题解决
- ++编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决