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

从谷歌,我了解到这是“kernel-headers”的一部分。包。

如果我这样做“rpm -qa | grep kernel"

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

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

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

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

有帮助吗?

解决方案

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

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

我不太了解redhat知道如何安装它们(可能是一个rpm命令)以及它们将被安装的地方(使用Debian和衍生物放置它们你必须使用-I / usr / src / linux- < EM>内核版本 /包括&QUOT)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top