я обновился до Ubuntu 18.04 и vmmon.ko
модуль для VMWare Workstation 12.5.9 теперь не удается построить.
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function ‘LinuxDriverInitTSCkHz’:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:268:22: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
tscTimer.function = LinuxDriverEstimateTSCkHzDeferred;
^
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:270:12: error: ‘struct timer_list’ has no member named ‘data’
tscTimer.data = 0;
^
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c: In function ‘init_module’:
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:312:4: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
init_timer(&linuxState.pollTimer);
^~~~~~~~~~
init_timers
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:313:24: error: ‘struct timer_list’ has no member named ‘data’
linuxState.pollTimer.data = 0;
^
/usr/lib/vmware/modules/source/vmmon-only/linux/driver.c:314:34: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
linuxState.pollTimer.function = LinuxDriverPollTimeout;
Это похоже на небольшое изменение вызывает vmmon компиляции с ошибкой, возможно, что структуры данных изменились между версиями ядра?
изменить: похоже, что в ядре Linux v4.15 init_timer()
интерфейс был удален
uname -a
Linux hostnema 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
любые предложения о том, как я могли бы начать это исправлять?