make -C M= modules /bin/sh: 1: make -C M= modules: not found Makefile:6: recipe for target 'modules' failed make: *** [modules] Error 127 make -C M= modules /bin/sh: 1: make -C M= modules: not found Makefile:6: recipe for target 'modules' failed make: *** [modules] Error 127
时间: 2024-04-20 16:26:06 浏览: 246
这个错误通常表示在执行make命令时找不到目标文件或目录。请确保你在正确的目录中执行make命令,并且目标文件或目录存在。如果目标文件或目录不存在,你可能需要检查Makefile文件的配置或安装相应的依赖项。另外,还可以尝试使用绝对路径执行make命令,以确保正确的目标文件或目录被找到。如果问题仍然存在,请提供更多的上下文和详细信息,以便我能够更好地帮助你解决问题。
相关问题
make /bin/sh: 1: bc: not found make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/root/桌面/rtl8821CU modules make[1]: *** /lib/modules/6.1.0-kali9-amd64/build: 没有那个文件或目录。 停止。 make: *** [Makefile:2217:modules] 错误 2
这个错误提示是在编译驱动程序时出现的,可能是因为缺少编译驱动程序所需要的依赖项。你可以尝试以下步骤来解决这个问题:
1. 确保你已经安装了编译驱动程序所需要的依赖项,例如 bc 工具。你可以使用以下命令来安装 bc 工具:
```
sudo apt-get install bc
```
2. 确保你已经正确设置了内核源码的路径,因为编译驱动程序需要使用内核源码。你可以使用以下命令来查看内核源码的路径:
```
sudo apt-get install linux-source
ls /usr/src/
```
3. 如果以上步骤都没有解决问题,你可以尝试在 make 命令中加入 V=1 选项以获取更详细的编译日志,从而找到问题所在。例如:
```
make V=1 ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/root/桌面/rtl8821CU modules
```
希望这些步骤可以帮助你解决问题。
使用ubuntu20.04基于linux 5.15版本的内核编译驱动程序时,报错:make make CC=x86_64-linux-gnu-gcc-9 -C /lib/modules/5.15.0-72-generic/build M=/home/test/PCIE_Trans2PIC/drv modules make[1]: Entering directory '/usr/src/linux-headers-5.15.0-72-generic' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 You are using: x86_64-linux-gnu-gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 CC [M] /home/test/PCIE_Trans2PIC/drv/asu_pcie.o MODPOST /home/test/PCIE_Trans2PIC/drv/Module.symvers CC [M] /home/test/PCIE_Trans2PIC/drv/asu_pcie.mod.o LD [M] /home/test/PCIE_Trans2PIC/drv/asu_pcie.ko BTF [M] /home/test/PCIE_Trans2PIC/drv/asu_pcie.ko /bin/sh: 1: pahole: not found make[3]: *** [scripts/Makefile.modfinal:60: /home/test/PCIE_Trans2PIC/drv/asu_pcie.ko] Error 127 make[3]: *** Deleting file '/home/test/PCIE_Trans2PIC/drv/asu_pcie.ko' make[2]: *** [scripts/Makefile.modpost:139: __modpost] Error 2 make[1]: *** [Makefile:1822: modules] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-72-generic' make: *** [Makefile:9: all] Error 2 ,该如何解决
这个错误是因为缺少pahole工具导致的,pahole是BTF(BPF Type Format)工具包的一部分,用于生成内核BTF信息。解决方法如下:
1. 安装pahole工具。在终端中运行以下命令:
```
sudo apt-get update
sudo apt-get install -y dwarves
```
2. 然后在编译驱动程序时指定pahole的路径。
```
make make CC=x86_64-linux-gnu-gcc-9 -C /lib/modules/5.15.0-72-generic/build M=/home/test/PCIE_Trans2PIC/drv \
EXTRA_CFLAGS="-I/usr/include/dwarves" \
V=1 modules
```
其中,`-I/usr/include/dwarves`指定了pahole的路径。如果您的pahole工具安装在其他位置,请相应地更改路径。
希望这个解决方法可以帮助您解决问题。
阅读全文