首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu12.04.2上安装VMWare工具时出错“致命错误: linux/smp_lock.h:没有这样的文件或目录”

在Ubuntu12.04.2上安装VMWare工具时出错“致命错误: linux/smp_lock.h:没有这样的文件或目录”
EN

Ask Ubuntu用户
提问于 2013-06-06 16:33:45
回答 4查看 14.4K关注 0票数 6

我在Windows7主机上的VMware机器上安装了Ubuntu12.04.2LTS。在安装内核头时,我似乎遇到了问题。

我做了:

代码语言:javascript
复制
sudo apt-get install gcc make build-essential linux-headers-$(uname -r)

得到了这个:

代码语言:javascript
复制
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
build-essential is already the newest version.
linux-headers-3.5.0-28-generic is already the newest version.
make is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 100 not upgraded.

但是,在安装VMware工具时,会出现以下错误:

代码语言:javascript
复制
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-28-generic'
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/backdoor.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/backdoorGcc32.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/bdhandler.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/cpName.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/cpNameLinux.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/cpNameLite.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/dentry.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/dir.o
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/file.o
/tmp/vmware-root/modules/vmhgfs-only/file.c:122:4: warning: initialization from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmhgfs-only/file.c:122:4: warning: (near initialization for ‘HgfsFileFileOperations.fsync’) [enabled by default]
  CC [M]  /tmp/vmware-root/modules/vmhgfs-only/filesystem.o
/tmp/vmware-root/modules/vmhgfs-only/filesystem.c:48:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/tmp/vmware-root/modules/vmhgfs-only/filesystem.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-28-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmhgfs-only'

任何帮助都很感激!

EN

回答 4

Ask Ubuntu用户

发布于 2020-09-16 06:50:54

来自未来的声音:我正在编译5.9.0rc5。源树正是从linux.org中得到的。我的平台:Ubuntu20.04.1(从一周前的18.04.5升级到现在)。没有VmWare,只是一个原始内核tarball,但是:

代码语言:javascript
复制
DKMS make.log for virtualbox-guest-6.1.10 for kernel 5.9.0-rc5 (x86_64)
Wed 16 Sep 2020 01:35:06 AM EDT
  CC [M]  /var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/VBoxGuest-linux.o
  CC [M]  /var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/VBoxGuest.o
  CC [M]  /var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/common/string/strformatrt.o
  CC [M]  /var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/combined-agnostic.o
In file included from /var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/VBoxGuest-linux.c:36:
/var/lib/dkms/virtualbox-guest/6.1.10/build/vboxguest/r0drv/linux/the-linux-kernel.h:141:11: fatal error: linux/smp_lock.h: No such file or directory
  141 | # include <linux/smp_lock.h>
      |           ^~~~~~~~~~~~~~~~~~
compilation terminated.

错误在两个地方;

代码语言:javascript
复制
/usr/src/virtualbox-guest-6.1.10/vboxsf/r0drv/linux
/usr/src/virtualbox-guest-6.1.10/vboxguest/r0drv/linux

找到旧的、被遗忘的lineS,包围#if 0#endif,在内核源目录中运行make并完成。我将这些更改放入修订控制中,等等,但这些步骤并不重要。

哦,版权现在是甲骨文,更新到2020年,但代码是纯2003。

票数 3
EN

Ask Ubuntu用户

发布于 2013-06-06 16:59:12

VMWare不会像内核生成器释放它们那样快速地更改它们的工具。因此,在本例中,您将不得不在没有安装VMware工具的情况下运行,直到VMWare一起操作并更新3.5.0-28内核级别的VMTools。

我会联系Vmware和抱怨,并要求他们提供一个ETA的改变。

也许他们已经有了一个可用的VMtools更新,但是Vmcenter软件可能还没有更新。因此,如果安装了最新的VMcenter,还可以向sys管理员询问VM基础设施。

票数 0
EN

Ask Ubuntu用户

发布于 2013-06-07 21:45:47

我不认为smp_lock.h是内核头,因为我的Ubuntu来宾上没有VMWare,我在Ubuntu12.04上有linux 3.2.0-45通用的,并且我能够毫无问题地安装VMWare工具。

我读过这里,从2.6.39开始就没有smp_lock.h了,所以我认为您有VMware工具的旧版本,或者VMWare Player或VMWare工作站的旧版本。

您可以在这里查看更多选项:https://help.ubuntu.com/community/VMware/Tools

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/304897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档