gk75abs
Contributor
Contributor

VMware Workstation for Linux v12.5.7-5813279 don't install on RedHat Enterprise Linux 7.4 Beta1 ( kernel: 3.10.0-663.el7 )

Jump to solution

Hello everybody,

For information:

VMware Workstation for Linux v12.5.7-5813279 don't install on RedHat Enterprise Linux 7.4 Beta1 ( kernel: 3.10.0-663.el7 )

During installation process, when VMware's kernel modules are compiling, is error, and installation process is break.

Informations from console:

...

make[1]: Opuszczenie katalogu `/usr/src/kernels/3.10.0-663.el7.x86_64'

/usr/bin/make -C $PWD SRCROOT=$PWD/. \

  MODULEBUILDDIR= postbuild

make[1]: Wejście do katalogu `/tmp/modconfig-eNBseL/vmmon-only'

make[1]: `postbuild' jest aktualne.

make[1]: Opuszczenie katalogu `/tmp/modconfig-eNBseL/vmmon-only'

cp -f vmmon.ko ./../vmmon.o

make: Opuszczenie katalogu `/tmp/modconfig-eNBseL/vmmon-only'

Using kernel build system.

make: Wejście do katalogu `/tmp/modconfig-eNBseL/vmnet-only'

/usr/bin/make -C /lib/modules/3.10.0-663.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

  MODULEBUILDDIR= modules

make[1]: Wejście do katalogu `/usr/src/kernels/3.10.0-663.el7.x86_64'

  CC [M]  /tmp/modconfig-eNBseL/vmnet-only/driver.o

  CC [M]  /tmp/modconfig-eNBseL/vmnet-only/hub.o

  CC [M]  /tmp/modconfig-eNBseL/vmnet-only/userif.o

  CC [M]  /tmp/modconfig-eNBseL/vmnet-only/netif.o

In file included from include/linux/pci.h:35:0,

                 from /tmp/modconfig-eNBseL/vmnet-only/compat_netdevice.h:27,

                 from /tmp/modconfig-eNBseL/vmnet-only/netif.c:43:

include/linux/pci_ids.h:2251:0: warning: "PCI_VENDOR_ID_VMWARE" redefined [enabled by default]

#define PCI_VENDOR_ID_VMWARE  0x15ad

^

In file included from /tmp/modconfig-eNBseL/vmnet-only/net.h:38:0,

                 from /tmp/modconfig-eNBseL/vmnet-only/vnetInt.h:26,

                 from /tmp/modconfig-eNBseL/vmnet-only/netif.c:42:

/tmp/modconfig-eNBseL/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition

#define PCI_VENDOR_ID_VMWARE                    0x15AD

^

In file included from /tmp/modconfig-eNBseL/vmnet-only/netif.c:43:0:

/tmp/modconfig-eNBseL/vmnet-only/netif.c: In function ‘VNetNetifStartXmit’:

/tmp/modconfig-eNBseL/vmnet-only/compat_netdevice.h:343:46: error: ‘struct net_device’ has no member named ‘trans_start’

#define compat_netif_trans_update(d) do { (d)->trans_start = jiffies; } while (0)

                                              ^

/tmp/modconfig-eNBseL/vmnet-only/netif.c:468:4: note: in expansion of macro ‘compat_netif_trans_update’

    compat_netif_trans_update(dev);

    ^

make[2]: *** [/tmp/modconfig-eNBseL/vmnet-only/netif.o] Błąd 1

make[2]: *** Oczekiwanie na niezakończone zadania....

make[1]: *** [_module_/tmp/modconfig-eNBseL/vmnet-only] Błąd 2

make[1]: Opuszczenie katalogu `/usr/src/kernels/3.10.0-663.el7.x86_64'

make: *** [vmnet.ko] Błąd 2

make: Opuszczenie katalogu `/tmp/modconfig-eNBseL/vmnet-only'

Log from /tmp/vmware-root/vmware-31688.log as attach file.

Regards

Greg

1 Solution

Accepted Solutions
dariusd
Leadership
Leadership

Hi Greg,

It looks like Red Hat linux folks have made an incompatible change in the kernel.  I've attached a patch to this post which should fix the issue.  To apply the patch, you'll need to:

  • Quit Workstation.
  • Back up /usr/lib/vmware/modules/source/vmnet.tar to a safe place.
  • Unpack that tarfile.
  • Download the patch attached to this post (VMware-Workstation-12.5.7-vmnet-RHEL74.patch).
  • Apply the patch to the contents of the tarfile.
  • Repack the tarfile
  • Put the modified tarfile back in place at /usr/lib/vmware/modules/source/vmnet.tar .
  • Rebuild the modules.
  • Launch Workstation.

It'll look something like this:

   mkdir ~/vmnet-fix

   cd ~/vmnet-fix

   cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar

   tar xf vmnet-12.5.7.tar

   patch -p0 < ~/Downloads/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

   tar cf vmnet.tar vmnet-only/

   sudo cp vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar

   sudo vmware-modconfig --console --install-all

Hopefully you'll then be able to launch VMware Workstation on RHEL 7.4 Beta1 and newer.

Please let us know if that resolves the problem for you!

Thanks,

--

Darius

View solution in original post

20 Replies
dariusd
Leadership
Leadership

Hi Greg,

It looks like Red Hat linux folks have made an incompatible change in the kernel.  I've attached a patch to this post which should fix the issue.  To apply the patch, you'll need to:

  • Quit Workstation.
  • Back up /usr/lib/vmware/modules/source/vmnet.tar to a safe place.
  • Unpack that tarfile.
  • Download the patch attached to this post (VMware-Workstation-12.5.7-vmnet-RHEL74.patch).
  • Apply the patch to the contents of the tarfile.
  • Repack the tarfile
  • Put the modified tarfile back in place at /usr/lib/vmware/modules/source/vmnet.tar .
  • Rebuild the modules.
  • Launch Workstation.

It'll look something like this:

   mkdir ~/vmnet-fix

   cd ~/vmnet-fix

   cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar

   tar xf vmnet-12.5.7.tar

   patch -p0 < ~/Downloads/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

   tar cf vmnet.tar vmnet-only/

   sudo cp vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar

   sudo vmware-modconfig --console --install-all

Hopefully you'll then be able to launch VMware Workstation on RHEL 7.4 Beta1 and newer.

Please let us know if that resolves the problem for you!

Thanks,

--

Darius

View solution in original post

gk75abs
Contributor
Contributor

Hello Darius

Your patch works great. Vmnet compilation was made correct and vmware workstation works great..

Your instruction is also very good Smiley Happy

Regards.

Greg

0 Kudos
RamanKathpalia
Contributor
Contributor

Your solution works well. Thank you dariusd

0 Kudos
WLemmy
Contributor
Contributor

Thanks. Works on Centos 7 too (3.10.0-693)

Best regards

0 Kudos
friedt2
Contributor
Contributor

Do you know if you or vmware can create a patch for kernel 3.10.0-693.2.1.el7.x86_64? Workstation is unusable at this point.

pepecarpo
Contributor
Contributor

It works like a charm.

Thanks for your help!

0 Kudos
kaengo
Enthusiast
Enthusiast

Runs for me also fine,

many thanks!

Holger

0 Kudos
klorant
Contributor
Contributor

Had this issue with Centos 7.4 and the patch worked (of course).

Thank you Darius!

0 Kudos
Hagbard23
Contributor
Contributor

Darius,

If all solutions could be documented as well as this, the world would be a better place!

Thanks!

0 Kudos
LazLong
Contributor
Contributor

Thank you very much for the patch.

This harkens back to the bad old days when we had to run a thrid-party perl script against VMware Workstation every time RHEL was updated.

And the reason VMware didn't catch this before shipping 12.5.7 is????? RHEL 7.4 went beta a month before 12.5.7 shipped.

0 Kudos
MikeBoyle
Contributor
Contributor

I did run into the same issue with Centos 7.4 - this fix corrected the issue.

Awesome

Mike

0 Kudos
Tenth_Floor
Contributor
Contributor

Darius, thanks a lot. You saved the day. The problem popped up today when my RHEL Workstation 7.3 updated to the 3.10.0-693.2.2.el7.x86_64 kernel. I am running Workstation 12.5.7.

0 Kudos
slave57
Contributor
Contributor

Have tried the suggested fix on a new install of Centos 7.4 but fail at the final hurdle:

mkdir ~/vmnet-fix

  cd ~/vmnet-fix

  cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar

  tar xf vmnet-12.5.7.tar

  patch -p0 < ~/Downloads/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

  tar cf vmnet.tar vmnet-only/

  sudo cp vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar

  sudo vmware-modconfig --console --install-all

when running sudo vmware-modconfig --console --install-all I receive 'Failed to setup build environment'

any suggestions?

0 Kudos
dorotheavulcan
Contributor
Contributor

avery good desription it works also for 3.10.0-693.2.2.el7.x86_64

0 Kudos
Rockeem
Contributor
Contributor

Try the steps on this site to "jump the hurdle"... Gab Knowledge Base: Installing VMware tools in Centos 7

0 Kudos
mulkers
Contributor
Contributor

This is also affecting earlier Workstation versions. I'm having the problem with 10.0.6.

Will this patch also work for earlier Workstation versions?

0 Kudos
kuzeyka
Contributor
Contributor

Definitely thanks for this fix, my Workstation has turned into a pumpkin without it.

Now what was beta became Linux production kernel, I've updated one of my VM hosts to the latest package manager provided kernel 3.10.0-693.5.2.el7.x86_64, I was unable to start Workstation 11 anymore because of this error.

The patch didn't work on Workstation 11 vmnet.tar and I didn't want to drill down too deep on my Saturday night maintenance window as all this thing was very unplanned.

I had an unused 12 license and was able to apply the patch to the latest freshly downloaded Workstation package - it was also failing to start without it, fresh downloaded after clean install.

Is it a time to incorporate it into Workstation 11 and 12 so the users won't have to go through this hassle?

I'll appreciate same fix for the latest 11.

Thank you!

0 Kudos
alangourley
Contributor
Contributor

darius​ Great patch and instructions!

Finding myself in this particular scenario:

- This was a remote build workstation for me ( no browser download directory for the patch to download )

- But mainly, I forgot that the libdir for my current install wasn't in /usr/lib/vmware ( see your /etc/vmware/config file ).

So don't miss out on @darius's great patch for this here, if this more specific libdir scenario applies to you.  This slight adjustment helped:

vmware_libdir=$(awk '$1~/^libdir/{print $3}' /etc/vmware/config | xargs echo)

if test -f ${vmware_libdir}/modules/source/vmnet.tar

then

mkdir ~/vmnet-fix

cd ~/vmnet-fix

curl -kROL https://communities.vmware.com/servlet/JiveServlet/download/2686431-179601/VMware-Workstation-12.5.7...

cp ${vmware_libdir}/modules/source/vmnet.tar ./vmnet-12.5.7.tar

tar xf vmnet-12.5.7.tar

patch -p0 < ~/vmnet-fix/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

tar cf vmnet.tar vmnet-only/

sudo cp vmnet.tar ${vmware_libdir}/modules/source/vmnet.tar

sudo vmware-modconfig --console --install-all

else

echo vmware_libdir evaluated to \"${vmware_libdir}\" and ${vmware_libdir}/modules/source/vmnet.tar does not exist
fi

0 Kudos
kaengo
Enthusiast
Enthusiast

Hello Darius,

can you please adapt the patch to vmware 14? and to the new Kernel of CentOS/RH

I tried to use it, but I get:

[root@localhost vmnet-fix]# patch -p0 < ~/Downloads/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

patching file vmnet-only/compat_netdevice.h

Hunk #1 FAILED at 337.

1 out of 1 hunk FAILED -- saving rejects to file vmnet-only/compat_netdevice.h.rej

[root@localhost vmnet-fix]#

After that, I tried to install workstation pro 12 ,

but I also had had no success in patching it:

[root@localhost vmnet-fix]#   cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar

[root@localhost vmnet-fix]#  tar xf vmnet-12.5.7.tar

[root@localhost vmnet-fix]# patch -p0 < ~/Downloads/VMware-Workstation-12.5.7-vmnet-RHEL74.patch

patching file vmnet-only/compat_netdevice.h

[root@localhost vmnet-fix]#  tar cf vmnet.tar vmnet-only/

[root@localhost vmnet-fix]# cp vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar

cp: overwrite ‘/usr/lib/vmware/modules/source/vmnet.tar’? y

[root@localhost vmnet-fix]# vmware-modconfig --console --install-all

Stopping vmware (via systemctl):                           [  OK  ]

Using kernel build system.

make: Entering directory `/tmp/modconfig-sS7npk/vmmon-only'

/usr/bin/make -C /lib/modules/3.10.0-693.21.1.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

  MODULEBUILDDIR= modules

make[1]: Entering directory `/usr/src/kernels/3.10.0-693.21.1.el7.x86_64'

arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Toolchain update recommended..  Stop.

make[1]: Leaving directory `/usr/src/kernels/3.10.0-693.21.1.el7.x86_64'

make: *** [vmmon.ko] Error 2

make: Leaving directory `/tmp/modconfig-sS7npk/vmmon-only'

Using kernel build system.

make: Entering directory `/tmp/modconfig-sS7npk/vmnet-only'

/usr/bin/make -C /lib/modules/3.10.0-693.21.1.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

  MODULEBUILDDIR= modules

make[1]: Entering directory `/usr/src/kernels/3.10.0-693.21.1.el7.x86_64'

arch/x86/Makefile:166: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Toolchain update recommended..  Stop.

make[1]: Leaving directory `/usr/src/kernels/3.10.0-693.21.1.el7.x86_64'

make: *** [vmnet.ko] Error 2

make: Leaving directory `/tmp/modconfig-sS7npk/vmnet-only'

Unable to install all modules.  See log for details.

[root@localhost vmnet-fix]#

Greetings, Holger

0 Kudos