LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1499|回复: 4

我安装kernel-devel-xxx.src.rpm后,为什么没有autoconf.h文件?

[复制链接]
发表于 2008-9-24 19:29:23 | 显示全部楼层 |阅读模式
因为最近用vmware安装Fedora 9,要在上面装vmwaretools,需要kernel-headers来编译。
下载到一个与我的内核相匹配的kernel-devel包,是src.rpm格式的。
用rpm -i安装后,在/usr/src/redhat/SOURCES中装了一大堆ooxx
同时在usr/src/redhat/SPECS中生成了一个xxxxxx.spec,
取到那个目录中用rpmbuild -bb xxxxxx.spec,
在usr/src/redhat/RPMS/i386中能找到生成的rpm安装包,用rpm -i安装。至此安装完成。
(奇怪的是,我的内核是i686版本,不知这个i386是否可以通用,i386只是代表x86架构么?我看网上的kernel-header包也只有i386和ppc的分别。)

完成后,会在/usr下建立一个include目录,按理所有的kernel-headers都会在这里的吧?但是vmwaretools安装所需要的autoconf.h文件那个文件夹里没有,
按理说应该在include/linux/这个目录中,但确实无法找到。

我是新手,不知以上哪一步出了问题,还是我对哪一步理解有误,请高手们帮忙,谢谢!
 楼主| 发表于 2008-9-25 15:09:34 | 显示全部楼层
以下是我用rpmbuild -bp kernel.spec之后,在我的/usr/src/redhat/BUILD中产生的linux-xxxxxx/linux-xxxx-i386目录中的文件列表,大家能否帮我看一下怎样去编译这些文件?
直接make
或者直接make xxxx.config都不行,因为列表中的那个include目录不全,没有/include/sys/之类的子目录,make提示必须要包含的头文件无法找到,不知为何?

ls -l 结果:
总计 2156
drwxr-xr-x 26 root root   4096 09-24 08:20 arch
drwxr-xr-x  2 root root   4096 09-24 08:20 block
-rw-r--r--  1 root root    826 09-24 08:20 config-debug
-rw-r--r--  1 root root  76867 09-24 08:20 config-generic
-rw-r--r--  1 root root    146 09-24 08:20 config-i586
-rw-r--r--  1 root root    249 09-24 08:20 config-i686
-rw-r--r--  1 root root     95 09-24 08:20 config-i686-PAE
-rw-r--r--  1 root root     58 09-24 08:20 config-ia64
-rw-r--r--  1 root root   3926 09-24 08:20 config-ia64-generic
-rw-r--r--  1 root root   1092 09-24 08:20 config-nodebug
-rw-r--r--  1 root root   3240 09-24 08:20 config-powerpc32-generic
-rw-r--r--  1 root root     94 09-24 08:20 config-powerpc32-smp
-rw-r--r--  1 root root   3417 09-24 08:20 config-powerpc64
-rw-r--r--  1 root root     70 09-24 08:20 config-powerpc64-kdump
-rw-r--r--  1 root root   5304 09-24 08:20 config-powerpc-generic
-rw-r--r--  1 root root   6003 09-24 08:20 config-rhel-generic
-rw-r--r--  1 root root     94 09-24 08:20 config-rhel-x86-generic
-rw-r--r--  1 root root   3436 09-24 08:20 config-s390x
-rw-r--r--  1 root root     25 09-24 08:20 config-sparc64
-rw-r--r--  1 root root   5029 09-24 08:20 config-sparc64-generic
-rw-r--r--  1 root root      0 09-24 08:20 config-sparc64-smp
-rw-r--r--  1 root root   5779 09-24 08:20 config-x86_64-generic
-rw-r--r--  1 root root   7697 09-24 08:20 config-x86-generic
-rw-r--r--  1 root root   1884 09-24 08:20 config-xen-generic
-rw-r--r--  1 root root    688 09-24 08:20 config-xen-ia64
-rw-r--r--  1 root root     81 09-24 08:20 config-xen-x86
-rw-r--r--  1 root root    129 09-24 08:20 config-xen-x86_64
-rw-r--r--  2 root root  18693 07-14 05:51 COPYING
-rw-r--r--  2 root root  92729 07-14 05:51 CREDITS
drwxr-xr-x  3 root root   4096 09-24 08:20 crypto
drwxr-xr-x 79 root root  12288 09-24 08:20 Documentation
drwxr-xr-x 79 root root   4096 09-24 08:19 drivers
drwxr-xr-x 63 root root   4096 09-24 08:20 fs
drwxr-xr-x 42 root root   4096 09-24 08:19 include
drwxr-xr-x  2 root root   4096 09-24 08:20 init
drwxr-xr-x  2 root root   4096 09-24 08:20 ipc
-rw-r--r--  2 root root   2465 07-14 05:51 Kbuild
drwxr-xr-x  5 root root   4096 09-24 08:20 kernel
-rw-r--r--  1 root root  84040 09-24 08:20 kernel-2.6.26.3-i586.config
-rw-r--r--  1 root root  84104 09-24 08:20 kernel-2.6.26.3-i686.config
-rw-r--r--  1 root root  83838 09-24 08:20 kernel-2.6.26.3-i686-debug.config
-rw-r--r--  1 root root  84040 09-24 08:20 kernel-2.6.26.3-i686-PAE.config
-rw-r--r--  1 root root  83774 09-24 08:20 kernel-2.6.26.3-i686-PAEdebug.config
-rw-r--r--  1 root root  85236 09-24 08:20 kernel-2.6.26.3-i686-xen.config
-rw-r--r--  1 root root  81026 09-24 08:20 kernel-2.6.26.3-ia64.config
-rw-r--r--  1 root root  82345 09-24 08:20 kernel-2.6.26.3-ia64-xen.config
-rw-r--r--  1 root root  84115 09-24 08:20 kernel-2.6.26.3-ppc64.config
-rw-r--r--  1 root root  84135 09-24 08:20 kernel-2.6.26.3-ppc64-kdump.config
-rw-r--r--  1 root root  83621 09-24 08:20 kernel-2.6.26.3-ppc.config
-rw-r--r--  1 root root  83649 09-24 08:20 kernel-2.6.26.3-ppc-smp.config
-rw-r--r--  1 root root  80308 09-24 08:20 kernel-2.6.26.3-s390x.config
-rw-r--r--  1 root root  81322 09-24 08:20 kernel-2.6.26.3-sparc64.config
-rw-r--r--  1 root root  81311 09-24 08:20 kernel-2.6.26.3-sparc64-smp.config
-rw-r--r--  1 root root  82458 09-24 08:20 kernel-2.6.26.3-x86_64.config
-rw-r--r--  1 root root  82192 09-24 08:20 kernel-2.6.26.3-x86_64-debug.config
-rw-r--r--  1 root root  83683 09-24 08:20 kernel-2.6.26.3-x86_64-xen.config
drwxr-xr-x  6 root root   4096 09-24 08:20 lib
-rw-r--r--  1 root root 101091 09-24 08:20 MAINTAINERS
-rw-r--r--  1 root root  55083 09-24 08:20 Makefile
-rwxr-xr-x  1 root root   1400 09-24 08:20 merge.pl
drwxr-xr-x  2 root root   4096 09-24 08:20 mm
drwxr-xr-x 43 root root   4096 09-24 08:20 net
-rw-r--r--  2 root root  16930 07-14 05:51 README
-rw-r--r--  2 root root   3172 07-14 05:51 REPORTING-BUGS
drwxr-xr-x  6 root root   4096 09-24 08:20 samples
drwxr-xr-x  9 root root   4096 09-24 08:20 scripts
drwxr-xr-x  5 root root   4096 09-24 08:20 security
drwxr-xr-x 20 root root   4096 09-24 08:20 sound
drwxr-xr-x  2 root root   4096 09-24 08:20 usr
drwxr-xr-x  3 root root   4096 09-24 08:19 virt
回复 支持 反对

使用道具 举报

发表于 2008-9-25 16:43:45 | 显示全部楼层
好象是少软件包。。。。比如支持的库之类的。i386和i686是一样的。能用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 15:13:48 | 显示全部楼层
谢谢斑竹解答!我最后查看了一下,找不到sys/xxxx.h的原因是由于我之前不小心误删了/usr/include文件夹导致的,惭愧惭愧。已经通过强制安装glibc-headers解决了这个问题(不强制安装会因为丢失的依赖相关无法继续)。

但编译内核时有了一个新的问题:

/usr/include/bits/socket.h:340:24: error: asm/socket.h: No such file or directory
scripts/basic/fixdep.c: In function 'use_config':
scripts/basic/fixdep.c:206: error: 'PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:206: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:206: error: for each function it appears in.)
scripts/basic/fixdep.c:206: warning: unused variable 's'
scripts/basic/fixdep.c: In function 'parse_dep_file':
scripts/basic/fixdep.c:306: error: 'PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:306: warning: unused variable 's'
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.16063 (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.16063 (%install)

我查了一下,网上说可以通过建立一个名为asm -> /include/asm-x86的连接来解决。
但我是用rpminstall -bb kernel.spec的方法来产生rpm安装包的过程中遇到这个问题的。
似乎这个过程中产生的中间文件,也包括include文件夹都是在rpmbuild命令执行过程中在/var/tmp目录中建立的。我需要把/var/tmp/xxxxx/include/asm-x86 链接到/var/tmp/xxxxx/include/asm吧。我需要怎么做?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-27 14:13:22 | 显示全部楼层
我的问题,之前误删了/usr/include导致,可以重装了,因为不是通过重新安装少数几个包就能补救的,呵呵。再次谢谢斑竹的回答。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表