- 论坛徽章:
- 0
|
呵呵,无意间发现前面报错的原因了
- /usr/src/linux-2.4.20-8/include/asm/processor.h:83: error: array type has incomplete element type
- 发现
- 83行是 extern struct tss_struct init_tss[NR_CPUS];
- 而struct tss_struct是在该文件的后面定义的.(不解为何内核编译时未报错)
- 把init_tss移到tss_struct定义后,重新编译,有警告,但是能成功
复制代码
原来是gcc版本的缘故,我在该系统上编译安装过gcc4.1.1,而rh9.0自带的是gcc.3.2.2.执行gcc时实际用的是/usr/local/bin/gcc(v4.1.1).
用/usr/bin/gcc(v3.2.2)重新编译了一下(使用原始的processor.h),无错,无警告.
[root@filter ~]$ /usr/bin/gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-8/include -c drv.c
[root@filter ~]$
呵呵......... |
|