ошибка “фатальная ошибка: linux/smp_lock.h: Никакой такой файл или каталог” во время установки инструментов VMWare на Ubuntu 12.04.2

У меня есть Ubuntu 12.04.2 LTS, установленный на машине VMware на хосте Windows 7. У меня, кажется, есть проблема с Заголовками ядрa при попытке установить их

Я сделал:

sudo apt-get install gcc make build-essential linux-headers-$(uname -r)

и получил это:

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 я получаю следующую ошибку:

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'

Любая справка ценится!

6
задан 23 May 2015 в 23:56

3 ответа

VMWare не меняет свои инструменты так быстро, как их выпускают генераторы ядра. Таким образом, в этом случае вам придется работать без установленных инструментов VMware, пока VMWare не соберет свои действия и не обновит VMTools для уровня ядра 3.5.0-28.

Я связывался с Vmware, жаловался и спрашивал у них ETA на изменение.

Возможно, у них уже есть текущее обновление VMtools, которое доступно, но программное обеспечение Vmcenter еще не было обновлено. Таким образом, вы также можете узнать у администратора системы инфраструктуру виртуальных машин, установлен ли последний VMcenter.

0
ответ дан 23 May 2015 в 23:56

Я не думаю, что это заголовки ядра, так как smp_lock.h отсутствует на моем госте Ubuntu, и у меня есть linux-headers-3.2.0-45-generic в Ubuntu 12.04, и я смог установить инструменты VMWare без проблемы.

Я прочитал здесь , что smp_lock.h не существует с 2.6.39, поэтому я думаю, что у вас есть старая версия инструментов VMware или старая версия VMWare Player или VMWare Workstation.

Вы можете проверить здесь дополнительные параметры: https://help.ubuntu.com/community/VMware/Tools

.
0
ответ дан 23 May 2015 в 23:56

Голос из будущего: Я компилирую 5.9.0rc5. Исходное дерево — это именно то, что появилось на linux.org. Моя платформа: Ubuntu 20.04.1 (обновлено с 18.04.5 неделю назад. Никакого VmWare, только нетронутый архив ядра, и все же:

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.

Ошибка в ДВУХ местах;

/usr/src/virtualbox-guest-6.1.10/vboxsf/r0drv/linux
/usr/src/virtualbox-guest-6.1.10/vboxguest/r0drv/linux

Найти старую, забытую строкуS, окружить #if 0 и #endif, запустите make install в исходном каталоге ядра и готово. Я помещаю изменения в контроль версий и т. д., но эти шаги не являются жизненно важными.

О, авторское право теперь принадлежит Oracle, обновленному до 2020 года, но код чистый 2003 года.

3
ответ дан 16 September 2020 в 06:50

Другие вопросы по тегам:

Похожие вопросы: