背景
最近把编译环境从Ubuntu1604 64bit升级成了Ubuntu2004 64bit,然后以前能编译的Linux驱动模块(x86,不是x64)现在突然不能编译了,提示:
whp@whp-HP-ProDesk-400-G5-MT:~/projects/F267/SVN/driver_x86/pcie_network$ make ARCH=x86
make -C ~/linux-source-4.15.0 M=/home/whp/projects/F267/SVN/driver_x86/pcie_network
make[1]: 进入目录“/home/whp/linux-source-4.15.0”
CC [M] /home/whp/projects/F267/SVN/driver_x86/pcie_network/fpga_dsp.o
In file included from ./include/linux/list.h:9,
from ./include/linux/module.h:9,
from /home/whp/projects/F267/SVN/driver_x86/pcie_network/fpga_dsp.c:14:
./include/linux/kernel.h:6:10: fatal error: stdarg.h: 没有那个文件或目录
6 | #include <stdarg.h>
| ^~~~~~~~~~
compilation terminated.
定位解决
Makefile如下:
KDIR=~/linux-source-4.15.0
PWD=$(shell pwd)
ARCH