2016-12-14 7 views
0

Hash_Drbgの実装を作成しています。カーネルで作業中にエラーが発生する

元のソースコードはここで見つけることができます:https://github.com/torvalds/linux/blob/master/crypto/drbg.c

私は私が私の実装に必要と私はそれをコンパイルするとき、それが動作するはずだと思うのコードの一部を取り出しています。

私がコンパイルすると、インクルードに関するエラーが発生します。例えば

fatal error: crypto/drbg.h: No such file or directory. 

これは容易にカーネルをダウンロードして含まれるソースコードの先頭に見出さを変性することによって固定することができます。私がそれをするとき、私はdrbg.hヘッダー内のインクルードに同じエラーで会います。例えば

fatal error: linux/scatterlist.h: No such file or directory. 

がどのように私はこれらのエラーを修正できますか?あなたはLinuxカーネルに対してコードをコンパイルできるようにするLinuxカーネルヘッダが欠落しているよう

+0

正しいを指定するには、コンパイラフラグを '-I'使用していますが、ディレクトリが含まれていますか? – e0k

答えて

0

が見えます。

linuxヘッダーをインストールする必要があります。どのフレーバーを使用していますか?それに応じて以下のコマンドを変更してください。あなたはあなたがカーネルに一致するカーネルヘッダを使用する必要があります

$ sudo apt-get install linux-source 

注:Ubuntuの全体のLinuxカーネルソースをインストールするには

$ sudo apt-get install linux-headers-$(uname -r) 

:Ubuntuの中に、ヘッダーだけをインストールするには

ランニング。

そして、あなたのようにあなたのMakefileにそれを追加することができます。

KDIR =//usr/src/linux-headers 

all: 
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 
関連する問題