Описание решения ошибок при установке модулей VMWare Workstation на Ubuntu 22.04 после обновления ядра или при начальной установке.
При попытке установки модулей VMWare Workstation могут возникнуть ошибки вида:
Unable to install all modules
В логах установщика содержиться подобная информация:
Log for VMware Workstation pid=4915 version=16.2.4 build=build-19376536 option=Release
The host is 64-bit.
Host codepage=UTF-8 encoding=UTF-8
Host is Linux 5.15.0-25-generic Ubuntu 22.04 LTS Ubuntu 22.04 LTS 22.04
...
...
...
Using kernel build system.
/tmp/modconfig-Xivrap/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Free() falls through to next function PhysTrack_Add()
/tmp/modconfig-Xivrap/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove()
/tmp/modconfig-Xivrap/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test()
In file included from /tmp/modconfig-Xivrap/vmmon-only/./include/x86desc.h:33,
from /tmp/modconfig-Xivrap/vmmon-only/./include/modulecall.h:34,
from /tmp/modconfig-Xivrap/vmmon-only/common/task.c:60:
/tmp/modconfig-Xivrap/vmmon-only/common/task.c: In function ‘TaskRestoreHostGDTTRLDT’:
/tmp/modconfig-Xivrap/vmmon-only/./include/vm_asm_x86.h:67:44: error: expression in static assertion is not constant
67 | ASSERT_ON_COMPILE(sizeof(Selector) == 2 && \
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | ((__builtin_constant_p(expr) && ((expr) >> 16) == 0) || \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | sizeof(expr) <= 2))
| ~~~~~~~~~~~~~~~~~~
...
Или могут быть ошибки такого вида (пример для русской локализации):
In file included from /tmp/modconfig-QkiJUD/vmmon-only/common/apic.c:19:
/tmp/modconfig-QkiJUD/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: Нет такого файла или каталога
54 | # include <stddef.h>
| ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-QkiJUD/vmmon-only/common/apic.o] Ошибка 1
make[2]: *** Ожидание завершения заданий…
In file included from /tmp/modconfig-QkiJUD/vmmon-only/bootstrap/bootstrap.c:27:
/tmp/modconfig-QkiJUD/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: Нет такого файла или каталога
54 | # include <stddef.h>
| ^~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:257: /tmp/modconfig-QkiJUD/vmmon-only/bootstrap/bootstrap.o] Ошибка 1
In file included from /tmp/modconfig-QkiJUD/vmmon-only/./include/cpu_types.h:29,
from /tmp/modconfig-QkiJUD/vmmon-only/./include/modulecall.h:33,
from /tmp/modconfig-QkiJUD/vmmon-only/common/crosspage.c:57:
/tmp/modconfig-QkiJUD/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: Нет такого файла или каталога
54 | # include <stddef.h>
| ^~~~~~~~~~
compilation terminated.
Дистрибутив модулей ядра для VMWare Workstation, который поставлялся с установщиком программы, устарел и стал несовместимым с текущей версией ядра.
Необходимо обновить модули до актуальной версии. Для этого нужно выполнить ряд команд:
# Переходим в каталог с исходными файлами модулей
cd /usr/lib/vmware/modules/source
# Клонируем публичный репозиторий модулей VMWare Workstation от Michal Kubeček
git clone https://github.com/mkubecek/vmware-host-modules
# Переходим в каталог склонированного репозитория
cd vmware-host-modules
# Переходим на ветку, в которой идет разработка для версии 16.2.4
# (!!! Здесь можно указать версию, которая нужна Вам)
git checkout workstation-16.2.4
# Выполняем сборку
make
# Создаем архивы для модулей
tar -cf vmnet.tar vmnet-only
tar -cf vmmon.tar vmmon-only
# И заменяем старые архивы на новые
mv vmnet.tar /usr/lib/vmware/modules/source/
mv vmmon.tar /usr/lib/vmware/modules/source/
# Повторно делаем установку модулей VMWare Workstation
vmware-modconfig --console --install-all
После этого VMWare Workstation будет успешно запущен.
Не забываем, что команды нужно вводить с соответствующими привилегиями.
- vmware-host-modules - репозиторий с патчами для модулей ядра VMWare Player и VMWare Workstation.
- Обсуждение проблем в сообществе VMWare и здесь.