우분투에서 파일을 컴파일하는 중 오류가 발생했습니다.

우분투에서 파일을 컴파일하는 중 오류가 발생했습니다.
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/

실제로 파일이 없으면 다음에서 다운로드하세요.깃허브.

관련 정보