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
时间: 2023-12-23 14:05:01 浏览: 165
这个错误信息显示在编译 `rtl8821CU` 模块时,缺少 `bc` 命令或者 `/lib/modules/6.1.0-kali9-amd64/build` 目录不存在。
你可以尝试先安装 `bc` 命令,使用以下命令:
```
sudo apt-get install bc
```
如果还是出现同样的错误,那么可能是你的内核头文件没有安装或者安装位置不正确。你可以使用以下命令安装内核头文件:
```
sudo apt-get install linux-headers-$(uname -r)
```
如果还是不行,你可以尝试使用以下命令创建一个软链接,将 `/lib/modules/6.1.0-kali9-amd64/build` 指向正确的内核头文件目录:
```
sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/6.1.0-kali9-amd64/build
```
然后再次尝试编译 `rtl8821CU` 模块。
相关问题
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.0-kali9-amd64/build M=/home/kali/rtl8188gu modules
这个命令在编译 rtl8188gu 网卡驱动模块,其中:
- `ARCH=x86_64` 表示编译目标架构为 x86_64;
- `CROSS_COMPILE=` 表示交叉编译器为空,即使用本地编译器编译;
- `/lib/modules/6.1.0-kali9-amd64/build` 是 Linux 内核源码所在的目录;
- `/home/kali/rtl8188gu` 是 rtl8188gu 网卡驱动模块的源码目录;
- `modules` 表示编译模块。
这个命令的作用是编译并生成 rtl8188gu.ko 驱动模块,可以通过 `sudo insmod rtl8188gu.ko` 命令来加载驱动模块。注意,在执行此命令之前,需要先安装 Linux 内核源码和编译工具链。
CMake Warning: Ignoring extra path from command line: "../openMVS" -- Detected version of GNU GCC: 94 (904) Compiling with C++17 CMake Error at /home/xujx/.local/lib/python3.8/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:751 (message): Compiling the CUDA compiler identification source file "CMakeCUDACompilerId.cu" failed. Compiler: /usr/bin/nvcc Build flags: Id flags: --keep;--keep-dir;tmp -v The output was: 255 #$ _SPACE_= #$ _CUDART_=cudart #$ _HERE_=/usr/lib/nvidia-cuda-toolkit/bin #$ _THERE_=/usr/lib/nvidia-cuda-toolkit/bin #$ _TARGET_SIZE_= #$ _TARGET_DIR_= #$ _TARGET_SIZE_=64 #$ NVVMIR_LIBRARY_DIR=/usr/lib/nvidia-cuda-toolkit/libdevice #$ PATH=/usr/lib/nvidia-cuda-toolkit/bin:/usr/local/cuda-11.8/bin:/home/xujx/anaconda3/bin:/home/xujx/anaconda3/condabin:/home/xujx/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin #$ LIBRARIES= -L/usr/lib/x86_64-linux-gnu/stubs -L/usr/lib/x86_64-linux-gnu #$ rm tmp/a_dlink.reg.c #$ gcc -D__CUDA_ARCH__=300 -E -x c++ -DCUDA_DOUBLE_MATH_FUNCTIONS -D__CUDACC__ -D__NVCC__ -D__CUDACC_VER_MAJOR__=10 -D__CUDACC_VER_MINOR__=1 -D__CUDACC_VER_BUILD__=243 -include "cuda_runtime.h" -m64 "CMakeCUDACompilerId.cu" > "tmp/CMakeCUDACompilerId.cpp1.ii" #$ cicc --c++14 --gnu_version=90400 --allow_managed -arch compute_30 -m64 -ftz=0 -prec_div=1 -prec_sqrt=1 -fmad=1 --include_file_name "CMakeCUDACompilerId.fatbin.c" -tused -nvvmir-library "/usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc" --gen_module_id_file --module_id_file_name "tmp/CMakeCUDACompilerId.module_id" --orig_src_file_name "CMakeCUDACompilerId.cu" --gen_c_file_name "tmp/CMakeCUDACompilerId.cudafe1.c" --stub_file_name "tmp/CMakeCUDACompilerId.cudafe1.stub.c" --gen_device_file_name "tmp/CMakeCUDACompilerId.cudafe1.gpu" "tmp/CMakeCUDACompilerId.cpp1.ii" -o "tmp/CMakeCUDACompilerId.ptx" #$ ptxas -arch=sm_30 -m64 "tmp/CMakeCUDACompilerId.ptx" -o "tmp/CMakeCUDACompilerId.sm_30.cubin" ptxas fatal : Value 'sm_30' is not defined for option 'gpu-name' # --error 0xff -- Call Stack (most recent call first): /home/xujx/.local/lib/python3.8/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:8 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /home/xujx/.local/lib/python3.8/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCompilerId.cmake:53 (__determine_compiler_id_test) /home/xujx/.local/lib/python3.8/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCUDACompiler.cmake:307 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:109 (ENABLE_LANGUAGE)是什么问题
这个问题是由于在构建过程中使用的CUDA编译器标识未被识别所引起的。具体来说,在尝试编译CUDA编译器标识源文件"CMakeCUDACompilerId.cu"时失败了。错误信息中显示的输出是255,这表明编译过程出现了错误。
根据错误信息中的一些提示,可能的原因之一是编译器选项中使用了不正确的GPU架构选项。错误信息中显示"ptxas fatal: Value 'sm_30' is not defined for option 'gpu-name'",指出选择的GPU架构"sm_30"不可用。
要解决这个问题,您可以尝试以下几点:
1. 检查CUDA版本:确保您使用的CUDA版本与您的GPU架构兼容。您可以查看CUDA文档或GPU架构兼容性表以获取详细信息。
2. 检查编译器选项:检查CMakeLists.txt文件中关于CUDA编译器选项的配置,确保选择的GPU架构选项是有效的。
3. 检查CUDA环境变量:确保CUDA环境变量设置正确,以便CMake可以正确找到CUDA工具链和库。
如果问题仍然存在,请提供更多关于您的环境和构建配置的信息,以便能够更好地帮助您解决问题。
阅读全文