
linux
我记得大概在
linux内核5.12(也可能是其他小版本)的时候,安装
VMware Workstation16碰到过无法编译kernel module的情况。那时这个内核版本是最新的,不管是让
VMware自动编译,还是用命令手动编译,都会出错。网上也没人反馈这个错误,所以一时难以解决。不过编译失败时make会给出报错信息,当时是因为在编译过程中找不到两个头文件才出的问题,即便安装了
linux - headers也没用。于是我先搜索发现系统库里确实有这两个头文件,就把module包里依赖这两个头文件的地址改成正确的头文件地址,重新打包后再调用编译命令,最终成功编译了vmnet和vmmon这两个模块。过了几天再上网搜索时,就看到已经有人在
VMware上报了bug,正是当时在Arch下针对最新内核编译模块失败的问题。当搜索不到答案的时候,可别轻易放弃,再尝试一下说不定就能把问题解决了。