{"id":2157,"date":"2017-12-21T22:36:00","date_gmt":"2017-12-22T06:36:00","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=2157"},"modified":"2017-12-21T22:36:00","modified_gmt":"2017-12-22T06:36:00","slug":"vmware-14-1-0-released-ok-with-kernel-4-14-still-broken-with-4-15-and-a-nasty-hack-to-fix","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=2157","title":{"rendered":"VMware &#8211; 14.1.0 released &#8211; OK with Kernel 4.14, Still Broken with 4.15, and a Nasty Hack to Fix.."},"content":{"rendered":"<p>Just updated to VMware Workstation <strong>14.1.0<\/strong>, and release notes are here:\u00a0 <a href=\"https:\/\/docs.vmware.com\/en\/VMware-Workstation-Pro\/14.0.0\/rn\/workstation-141-release-notes.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.vmware.com\/en\/VMware-Workstation-Pro\/14.0.0\/rn\/workstation-141-release-notes.html<\/a><\/p>\n<p>This now works OK with Kernel 4.14 (tested with <strong>4.14.8<\/strong>) but <strong>vmmon<\/strong> is still broken with Kernel 4.15 (tested with <strong>4.15-rc4<\/strong>):<\/p>\n<pre>.<span style=\"font-family: courier new,courier;\"><strong>...............<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>\/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c: In function \u2018HostIF_InitUptime\u2019:<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>\/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c:1770:4: error: implicit declaration of function \u2018init_timer\u2019; did you mean \u2018init_timers\u2019? [-Werror=implicit-function-declaration]<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> init_timer(&amp;uptimeState.timer);<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> ^~~~~~~~~~<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> init_timers<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>\/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c:1771:31: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> uptimeState.timer.function = HostIFUptimeResyncMono;<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong> ^<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>cc1: some warnings being treated as errors<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make[2]: *** [scripts\/Makefile.build:310: \/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.o] Error 1<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make[1]: *** [Makefile:1502: _module_\/tmp\/modconfig-04hK9s\/vmmon-only] Error 2<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make[1]: Leaving directory '\/usr\/src\/linux-4.15-rc4'<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make: *** [Makefile:110: vmmon.ko] Error 2<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>make: Leaving directory '\/tmp\/modconfig-04hK9s\/vmmon-only'<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong>.......................<\/strong><\/span>\r\netc... etc...<\/pre>\n<p>As the compile fail appeared to be similar to the one with VMware 4.0.0 &#8211; for which a patch is available &#8211; I was able to do a &#8216;<em>nasty hack<\/em>&#8216; by creating and then applying a patch-set from the 4.15-patched VMware 4.0.0 versions of <strong><span style=\"font-family: courier new,courier;\">vmmon-only\/linux\/hostif.c<\/span><\/strong> and <strong><span style=\"font-family: courier new,courier;\">driver.c<\/span><\/strong>, against their VMware 4.1.0 equivalents, and copying across the &#8216;new&#8217; header file <strong><span style=\"font-family: courier new,courier;\">vmmon-only\/include\/compat_timer.h<\/span><\/strong>.\u00a0\u00a0 This did work, but is &#8211; obviously &#8211; not an ideal solution, and hopefully someone with the necessary skills will be able to produce a &#8216;proper&#8217; patch, soon..<\/p>\n<p><em>Robert Gadsdon.\u00a0 December 21, 2017.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just updated to VMware Workstation 14.1.0, and release notes are here:\u00a0 https:\/\/docs.vmware.com\/en\/VMware-Workstation-Pro\/14.0.0\/rn\/workstation-141-release-notes.html This now works OK with Kernel 4.14 (tested with 4.14.8) but vmmon is still broken with Kernel 4.15 (tested with 4.15-rc4): &#8230;&#8230;&#8230;&#8230;&#8230;. \/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c: In function \u2018HostIF_InitUptime\u2019: \/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c:1770:4: error: implicit declaration of function \u2018init_timer\u2019; did you mean \u2018init_timers\u2019? [-Werror=implicit-function-declaration] init_timer(&amp;uptimeState.timer); ^~~~~~~~~~ init_timers \/tmp\/modconfig-04hK9s\/vmmon-only\/linux\/hostif.c:1771:31: error: assignment from <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=2157\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5,6,11,14,15,19,1533,25],"tags":[1772,988,1417,1173,242,1773,1771,298,1206,1774],"class_list":["post-2157","post","type-post","status-publish","format-standard","hentry","category-compilation","category-crash-and-burn","category-hacks","category-kernel","category-linux-2","category-opinion","category-patches","category-vmware","tag-broken-with-4-15","tag-driver-c","tag-hostif-c","tag-kernel","tag-linux","tag-nasty-hack","tag-ok-with-kernel-4-14","tag-patches","tag-vmmon","tag-vmware-14-1-0"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2157"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2157\/revisions"}],"predecessor-version":[{"id":2159,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2157\/revisions\/2159"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}