免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1461 | 回复: 3
打印 上一主题 下一主题

[系统管理] Kernel编译失败的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-23 10:38 |只看该作者 |倒序浏览
小弟目前因公司要导入一套系统,而厂商软体针对LInux核心有所要求,所以目前需将核心编译至厂商能支援的版本。
例如此次的主角:kernel-2.6.18-238.el5

由redhat的网站上,下载了下述版本:kernel-2.6.18-238.el5.src.rpm
因为不敢轻易尝试在正式机上编译,所以我预先于vSphere 4.1的环境下,建立一个VM在测试,过程中虽然遇到一些问题,但也都一一解决,包含在vm中编译时,会遭遇到的pvscsi驱动问题。

确认所有应注意及执行的步骤之后,就开始在正式实体机上编译

结果,在make bzImage阶段就遇到了问题!! 如下:

drivers/pci/setup-res.c: In function “pci_update_resource”:
drivers/pci/setup-res.c:44: 警告:格式 “%lx” 需要类型 “long unsigned int”,但引数 4 的类型为 “resource_size_t”
drivers/pci/setup-res.c:44: 警告:格式 “%lx” 需要类型 “long unsigned int”,但引数 5 的类型为 “resource_size_t”
drivers/pci/setup-res.c: In function “pdev_sort_resources”:
drivers/pci/setup-res.c:247: 错误:“struct pci_dev” 没具名为 “sriov” 的成员
drivers/pci/setup-res.c:249: 错误:“struct pci_dev” 没具名为 “sriov” 的成员
make[2]: *** [drivers/pci/setup-res.o] Error 1
make[1]: *** [drivers/pci] Error 2
make: *** [drivers] Error 2

小弟认为是247及249那两行错误所造成的,但在检查了编译核心所需的套件后,也没发现到底在那里出了问题。而且同样的版本,在虚拟VM上是可以正常执行的。

底下为系统与编译相关的套件:
[root@web6 linux-2.6.18.i386]# rpm -aq |grep gcc
gcc-gfortran-4.1.2-54.el5
gcc-c++-4.1.2-54.el5
gcc-objc-4.1.2-54.el5
gcc-gnat-4.1.2-54.el5
gcc-java-4.1.2-54.el5
libgcc-4.1.2-54.el5
gcc-4.1.2-54.el5
gcc-objc++-4.1.2-54.el5

[root@web6 linux-2.6.18.i386]# rpm -aq |grep ^make
make-3.81-3.el5

[root@web6 linux-2.6.18.i386]# rpm -aq control-center control-center-devel binutils binutils-* gcc-* libstdc++-* gcc-c++-* glibc-* libstdc++-* sysstat-*
glibc-headers-2.5-107.el5_9.1
gcc-gfortran-4.1.2-54.el5
gcc-c++-4.1.2-54.el5
binutils-devel-2.17.50.0.6-20.el5_8.3
binutils-2.17.50.0.6-20.el5_8.3
glibc-devel-2.5-107.el5_9.1
gcc-objc-4.1.2-54.el5
gcc-gnat-4.1.2-54.el5
gcc-java-4.1.2-54.el5
control-center-2.16.0-16.el5
glibc-utils-2.5-107.el5_9.1
glibc-common-2.5-107.el5_9.1
libstdc++-devel-4.1.2-54.el5
gcc-objc++-4.1.2-54.el5
control-center-devel-2.16.0-16.el5

不知是否有人可解决一问题呢?

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
2 [报告]
发表于 2013-04-27 12:34 |只看该作者
回复 1# AlvinShih


    你主要看看编译器是否和你的内核原码是否兼容, 以前我整理交叉编译器与linux内核编译   被编译器版本快搞死了    我以前遇到过这种类似问题

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
3 [报告]
发表于 2013-04-27 12:36 |只看该作者
以前我解决的办法是    找一个更要编译内核差不多版本的linux系统安装  然后查看里面gcc等是用哪个版本   然后自己再进行编译  希望对你有用

论坛徽章:
0
4 [报告]
发表于 2013-05-08 11:50 |只看该作者
感谢分享!
目前似乎也只能再试试看了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP