乌布努图 18.04.4 LTS - Linux 5.3.0-28 - gcc 7.4.0
我正在尝试运行 make,并得到以下输出
/bin/sh: 1: Syntax error: "(" unexpected
Makefile:1699: recipe for target 'modules' failed
make: *** [modules] Error 2
我尝试添加SHELL := /bin/bash
到makefile
.
然后我得到以下内容。
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.3.0-28-generic/build M=/home/dubsta/Downloads/Archer T9UH(EU&US)_V2_170831_Linux/linux_T9UH modules'
Makefile:1700: recipe for target 'modules' failed
make: *** [modules] Error 1
前几行看起来Makefile
像这样:
SHELL := /bin/bash
EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
#EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
我已经仔细检查了我正在使用的 Linux 版本的内核标头是否已安装。
答案1
问题是您运行此程序的目录,/home/dubsta/Downloads/Archer T9UH(EU&US)_V2_170831_Linux/linux_T9UH modules
.内核 Makefile 不处理包含空格的目录,而且我也不确定括号和与号。
要解决此问题,请将Archer T9UH(EU&US)_V2_170831_Linux
和重命名linux_T9UH modules
为更简单的名称,不带空格,然后重试(根据需要调整命令)。