I tried to install VMware Workstation 5 on my SUSE Linux 10.0 desktop today. Boy, that did not go well. VMware is a great piece of software if you can get it running, but its installation on Linux is a real mess.
I installed the RPM from the web site. I was a little nervous because it appeared to be a one-size-fits-all RPM, which almost never works. Vendors really need to learn that all Linuxes aren’t the same, and that an RPM just can’t be installed on any Linux distribution. Maybe someday, but I spent 4 years writing package management tools on Linux, and you just can’t do it with the tools deployed today.
Anyway, I installed the RPM but I might as well have installed the tarball, because I still had to configure it afterward. I should have taken the lack of a .desktop file as a hint, but I assumed that with all the nice work Alex and Christian and others have put into the UI on Linux that installation and configuration would have improved as well. After running vmware from the console, I got the message that I’d have to run /usr/bin/vmware-config.pl to configure it. Ugh, ok. I’m having flashbacks to VMware installation circa 1999.
It starts off by asking me questions like where to install icons and .desktop files… things that an RPM package should really know and do for you, but we’ve established that this is a problem of the single-RPM-everywhere approach1. Once you get past the fluff questions, it gets into the good stuff: building kernel modules. None of the packaged modules would work on my system, which makes sense. SUSE Linux 10.0 came out after VMware Workstation 5.0, so this isn’t a big deal. I have to do this every time I upgrade my kernel with the proprietary nVidia drivers and the process is as smooth as silk. I tell the installer that yes, I have a C compiler and point it at /usr/src/linux/include and let it do it’s thing.
It fails to build.
Ok, I try pointing it at /lib/modules/2.6.13-15-smp/build/include, but it doesn’t like the directory layout. I hit google, and find that I need to run some things before it’ll proceed. I run make mrproper, make cloneconfig and make modules_prepare and then rerun the installation. It builds fine now. God bless the internet.
It then asks me if I want to enable networking. I say yes, and it displays a one line item in less. Ok. Then it asks me if I want to use NAT networking in my virual machines. I’m not sure? I think so. I know what NAT is, but I don’t know how it relates to VMware. What’s the alternative? What are the advantages and disadvantages? There’s no help option here. So fuck it, why not, I take the default (yes). It asks if I want to probe for an unused private subnet, I say yes. It then spews some stuff about my currently running DHCP server. This is a desktop, I don’t have a DHCP server installed. These steps are repeated now for “host-only networking.” Again, it doesn’t tell me what this is or why I want it. So I take the default, yes. It then builds the network module.
It says, “The module loads perfectly in the running kernel.” I am so close, I can almost taste it!
Then, it starts the various VMware services, but one of them (“Bridged networking on /dev/vmnet0”) fails. Ok, no big deal, it still says:
The configuration of VMware Workstation 5.0.0 build-13124 for Linux for this running kernel completed successfully.
You can now run VMware Workstation by invoking the following command: “/usr/bin/vmware”.
—the VMware team
[joe@posthaste ~]$ vmware
vmware is installed, but it has not been (correctly) configured
for this system. To (re-)configure it, invoke the following command:
God damn it!
I figure out that it’s checking for the existence of /etc/vmware/not_configured, so I delete that file and start it up. I have no idea why that file wasn’t removed, but maybe it had something to do with the fact that the network bridging failed.
I run it again. It hangs. Hmm, I take a look at dmesg, and I see why bridging failed: the module oopsed the kernel. Maybe it’s just a fluke, maybe a reboot will fix it, so I restart the machine. Now the vmware services are started at bootup, and I can’t log in because the kernel oopses before I can get to a prompt. So I start in single user mode and remove the package, which thankfully cleans up after itself nicely.
The icing on the cake: thinking that the VMware 5.5 beta might solve my problems, I went to the beta site to download it. I click the download link, I log in with the account I made earlier to get 5.0, and I’m greeted with:
The VMware web store encountered an error while processing your request. We’re sorry for the inconvenience. If you choose to report this error, please mention error code EC82.
1 Really, it’s not, since every distro — even the ones that install GNOME or KDE into /opt directories — knows to look in /usr for icons and desktop files, and that’s where the RPM installs the rest of the files.