Ubuntu でファイルをコンパイル中にエラーが発生しました

Ubuntu でファイルをコンパイル中にエラーが発生しました
odroid@odroid:~/Modules$ make
make -C /usr/src/linux-headers-3.10.96-150 SUBDIRS=/home/odroid/Modules modules
make[1]: Entering directory `/usr/src/linux-headers-3.10.96-150'
  CC [M]  /home/odroid/Modules/Hello.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LC_TIME = "es_US.UTF-8",
    LC_CTYPE = "en_US.UTF-8",
    LC_MONETARY = "es_US.UTF-8",
    LC_COLLATE = "C",
    LC_ADDRESS = "es_US.UTF-8",
    LC_TELEPHONE = "es_US.UTF-8",
    LC_MESSAGES = "en_US.UTF-8",
    LC_NAME = "es_US.UTF-8",
    LC_MEASUREMENT = "es_US.UTF-8",
    LC_IDENTIFICATION = "es_US.UTF-8",
    LC_NUMERIC = "C",
    LC_PAPER = "es_US.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
In file included from /usr/src/linux-headers-3.10.96-150/arch/arm/include/asm/page.h:163:0,
                 from include/linux/mmzone.h:20,
                 from include/linux/gfp.h:4,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from /home/odroid/Modules/Hello.c:1:
/usr/src/linux-headers-3.10.96-150/arch/arm/include/asm/memory.h:22:25: fatal error: mach/memory.h: No such file or directory
 #include <mach/memory.h>
                         ^
compilation terminated.
make[2]: *** [/home/odroid/Modules/Hello.o] Error 1
make[1]: *** [_module_/home/odroid/Modules] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.10.96-150'
make: *** [all] Error 2

答え1

これは既知の問題Odroid カーネル ヘッダー パッケージ内。memory.hシステム上のどこかに存在するはずですが、コンパイラが検索する適切な場所にはありません。

見つけてみてmemory.hください

find /usr | grep mach/memory.h

ファイルを見つけたら、適切な場所にシンボリックリンクを作成します。

sudo ln -s /path/to/mach /usr/src/linux-headers-`uname -r`/arch/arm/include/

本当にファイルがない場合は、ここからダウンロードしてください。ギットハブ

関連情報