モジュールをコンパイルしようとしていますが、このエラーが発生します。
_fatal error: sys/types.h: No such file or directory
compilation terminated.
_
これが私のモジュールファイルのヘッダーです
_#include <linux/init.h> // Macros used to mark up functions e.g. __init __exit
#include <linux/module.h> // Core header for loading LKMs into the kernel
#include <linux/device.h> // Header to support the kernel Driver Model
#include <linux/kernel.h> // Contains types, macros, functions for the kernel
#include <linux/fs.h> // Header for the Linux file system support
#include <asm/uaccess.h> // Required for the copy to user function
#include <sys/types.h>
_
そして、私のMakefile
_obj-m = test.o
all:
make -C /lib/modules/$(Shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(Shell uname -r)/build M=$(PWD) clean
_
このファイルを検索しようとしました
_ find /usr/include -name types.h
_
こちらが結果です
_/usr/include/sys/types.h
/usr/include/libr/sdb/types.h
/usr/include/rpc/types.h
/usr/include/i386-linux-gnu/sys/types.h
/usr/include/i386-linux-gnu/asm/types.h
/usr/include/i386-linux-gnu/bits/types.h
/usr/include/linux/iio/types.h
/usr/include/linux/types.h
/usr/include/x86_64-linux-gnu/sys/types.h
/usr/include/x86_64-linux-gnu/asm/types.h
/usr/include/x86_64-linux-gnu/bits/types.h
/usr/include/asm-generic/types.h
/usr/include/c++/5/parallel/types.h
_
_#include "/usr/include/sys/types.h"
_に設定しようとしました
しかし、次のエラーが発生しました
_/usr/include/sys/types.h:25:22: fatal error: features.h: No such file or directory
compilation terminated.
_
Kali Linux(Debian)
AMD64プラットフォームを使用しています
_Linux kali 4.5.0-kali1-AMD64 #1 SMP Debian 4.5.5-1kali1 (2016-06-06) x86_64 GNU/Linux
_
なにが問題ですか ?ありがとう
[〜#〜]解決済み[〜#〜]
申し訳ありませんが、これは私のせいでした。タイプにタイプミスをし、_sys/types.h
_ファイルを含めようとしましたが、私の場合、すべてのタイプが_/usr/src/linux-headers-4.5.0-kali1-common/include/linux/types.h
_で宣言されているわけではありません。みんな、ありがとう。
申し訳ありませんが、これは私のせいでした。タイプを入力し、sys/types.hファイルを含めようとしましたが、すべてのタイプが/usr/src/linux-headers-4.5.0-kali1-で宣言されているわけではありません。私の場合、common/include/linux/types.h。みんな、ありがとう。
Linux Mintでも同様のエラーが発生しました
致命的なエラー:sys/types.h:そのようなファイルまたはディレクトリはありません
この問題を修正しました:
Sudo apt install libc6-dev
types
ヘッダーファイルをソースに追加するだけで、 ここ からダウンロードできます。
次のコマンドを使用して、gcc
がファイルが配置されているディレクトリでヘッダーファイルを探しているかどうかを確認することをお勧めします。
`gcc -print-prog-name=cc1` -v # for c
この問題は次の方法で修正できます。
Sudo apt-get install libc6-dev-i386