web-dev-qa-db-ja.com

sys / types.h:そのようなファイルまたはディレクトリはありません

モジュールをコンパイルしようとしていますが、このエラーが発生します。

_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_で宣言されているわけではありません。みんな、ありがとう。

7
user3991417

申し訳ありませんが、これは私のせいでした。タイプを入力し、sys/types.hファイルを含めようとしましたが、すべてのタイプが/usr/src/linux-headers-4.5.0-kali1-で宣言されているわけではありません。私の場合、common/include/linux/types.h。みんな、ありがとう。

1
user3991417

Linux Mintでも同様のエラーが発生しました

致命的なエラー:sys/types.h:そのようなファイルまたはディレクトリはありません

この問題を修正しました:

Sudo apt install libc6-dev
16
dzanis

typesヘッダーファイルをソースに追加するだけで、 ここ からダウンロードできます。

1
Dr.Haimovitz

次のコマンドを使用して、gccがファイルが配置されているディレクトリでヘッダーファイルを探しているかどうかを確認することをお勧めします。

`gcc -print-prog-name=cc1` -v      # for c
1
Allen

この問題は次の方法で修正できます。

Sudo apt-get install libc6-dev-i386
0
Batuhan Avlayan