0

我正在尝试在 Linux Redhat 2.6.9-42.ELsmp 上编译 ac 编程包(thc-ipv6-0.7),它抱怨找不到“linux/string.h”。

从谷歌,我了解到这是“内核头”包的一部分。

如果我执行“rpm -qa | grep kernel”

它显示安装了“kernel-devel”(我认为我需要),但没有安装“kernel-headers”。

“find / -name string.h”显示 string.h 实际上在系统上,在许多地方,包括“/usr/include”。

我尝试在 make 文件中添加“-I/usr/include”,但得到了同样的错误。

我的问题是,我是否需要安装“kernel-headers”,如果需要,我在哪里可以找到它,以及什么版本?

4

1 回答 1

2

通常,您必须安装与您将在其上执行程序的系统运行的内核版本相对应的那些头文件的版本。在你的情况下,你想在本地运行,2.6.9-42。

该消息抱怨“linux/string.h”而不是“string.h”,因此您添加了一个以 linux 作为子目录的目录。

我对 redhat 的了解不够,不知道如何安装它们(可能是 rpm 命令)以及它们将安装在哪里(使用 Debian 和衍生产品,你必须使用 -I/usr/src/linux- kernel-version /包括”)。

于 2009-07-31T18:18:12.410 回答