0

Linux Redhat 2.6.9-42.ELsmp で ac プログラミング パッケージ (thc-ipv6-0.7) をコンパイルしようとしていますが、「linux/string.h」が見つからないと不平を言っています。

Google から、これが「kernel-headers」パッケージの一部であることを知りました。

「rpm -qa | grep kernel」を実行すると

「kernel-devel」がインストールされていることを示しています(必要だと思います)が、「kernel-headers」はインストールされていません。

"find / -name string.h" は、"/usr/include" を含む多くの場所で string.h が実際にシステム上にあることを明らかにします。

makeファイルに「-I/usr/include」を追加してみましたが、同じエラーが発生しました。

私の質問は、「kernel-headers」をインストールする必要がありますか? もしそうなら、どこにあり、どのバージョンですか?

4

1 に答える 1

2

通常、プログラムを実行するシステムで実行されるカーネルのバージョンに対応するバージョンのヘッダーをインストールする必要があります。ローカルで実行したい場合は、2.6.9-42。

メッセージは「string.h」ではなく「linux/string.h」について文句を言うので、サブディレクトリとしてlinuxを持つディレクトリを追加しました。

私はredhatについて十分な知識がなく、それらをインストールする方法(おそらくrpmコマンド)とそれらがインストールされる場所(Debianと派生物を使用すると、-I / usr / src / linux- kernel-version /を使用する必要があります)を知ることができません。含む")。

于 2009-07-31T18:18:12.410 に答える