
Я используюФедора 29и версия ядраLinux 5.0.16-200.fc29.x86_64. Перед обновлением ядра,VMware Workstation 14.1.7работает нормально, но после обновления выдает ошибкуОбновление модуля ядра VMwareсообщение и при попытке обновить выдает ошибку. Также пробовал
sudo vmware-modconfig --console --install-all
с консоли.
Ниже приведены ошибки в консоли.
/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:1502:25: error: ‘totalram_pages’ redeclared as different kind of symbol
extern unsigned long totalram_pages;
/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:1648:4: error: implicit declaration of function ‘do_gettimeofday’; did you mean ‘do_settimeofday64’? [-Werror=implicit-function-declaration]
do_gettimeofday(&tv);
/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:3203:40: error: macro "access_ok" passed 3 arguments, but takes just 2
if (!access_ok(VERIFY_WRITE, p, size)) {
^
/tmp/modconfig-NqEL4M/vmmon-only/linux/hostif.c:3203:9: error: ‘access_ok’ undeclared (first use in this function)
if (!access_ok(VERIFY_WRITE, p, size)) {
/tmp/modconfig-NqEL4M/vmnet-only/userif.c:145:52: error: macro "access_ok" passed 3 arguments, but takes just 2
if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||
^
/tmp/modconfig-NqEL4M/vmnet-only/userif.c:145:9: error: ‘access_ok’ undeclared (first use in this function)
if (!access_ok(VERIFY_WRITE, (void *)uAddr, size) ||
Спасибо всем заранее.
решение1
Макрос ядра Linux «access_ok» отбросил первый параметр «type», поэтому исходный код модулей VMware требует адаптации.
Если вы не можете обновить версию VMware до 15.1, я предлагаю собрать исходники изhttps://github.com/mkubecek/vmware-host-modules.git