VMware Communities
Deryni
Enthusiast
Enthusiast

Unable to install VMware Tools in Debian 6 64-bit

I just installed Fusion v4.0.2, Debian 6 64-bit, and did the usual "apt-get install build-essential linux-headers-2.6-amd64".  However when I attempt to install the Tools (v8.8.0-465068), it is still unable to find GCC nor the kernel headers.  gcc-4.3 is in the path, and /usr/src/linux-2.6.32-5-amd64 (and -common) exist (and match the running kernel).   Ideas?

0 Kudos
31 Replies
hajk
Enthusiast
Enthusiast

It's easy to miss a few requirements for successfully compiling/installing VMware Tools...

I recommend that you install the module-assistant package and then run the command

(as root)

# m-a prepare

This will likely pull in a few more packages... after which the VMware Tools should

compile/install just fine (I just did that on a new Debian amd64 testing installation with

the latest 3.0 kernel).

Good luck!

0 Kudos
Deryni
Enthusiast
Enthusiast

Nope, no such luck.  m-a prepare added no additional packages, and it still cannot find the gcc executable.  And even if I supply the full path to gcc-4.3, it still complains that it isn't valid.

0 Kudos
hajk
Enthusiast
Enthusiast

Strange... Just to make sure, do you have the gcc-4.3 package actually installed (since gcc-4.4

is the default gcc in Squeeze)?

You should then also temporarily link this to the default gcc,

# ln -fs /usr/bin/gcc-4.3 /usr/bin/gcc

then change it back to gcc-4.4 afterwards.

If all of this fails, then why not live somewhat more dangerously and install testing (Wheezy)?

At least there the VMware Tools install flawlessly for the 3.0 kernel -- in my case for the daily

netinst-amd64 image dated 28 September 2011. The VMware installer even correctly

recognizes that some of the modules are now included in the kernel, and need no longer be

compiled from the VMware Tools sources.

Good luck!

0 Kudos
dajbozerozum
Contributor
Contributor

The clear Debian 6.0 Squeeze installation, to install VMware tools need:

# apt-get install linux-headers-`uname -r` (will install gcc-4.4 and link as gcc4-3.).

# apt-get install make

Please answer hajk # ln -fs /usr/bin/gcc-4.3 /usr/bin/gcc and let us know if it works for you.

0 Kudos
Deryni
Enthusiast
Enthusiast

Yep, gcc-4.3 is installed.  Installing the linux-headers-2.6-amd64 pulls that in as a dependancy.  (make gets pulled in by build-essential).

Tried to change the symlink so that gcc-4.3 was the default, and same result.  The script is unable to find the gcc executable.

I guess I'd really like to know exactly what the installer is doing to "verify" the gcc executable.

And.. Debian 6 (and 6.0.1) are supported operating systems.  Moving to Testing (or even Unstable) is changing the problem.

0 Kudos
PeterP86
Contributor
Contributor

gcc-4.3 is in /usr/bin/gcc-4.3

Try to show that path while installing. Who says Debian 6.0 is supported?

0 Kudos
Deryni
Enthusiast
Enthusiast

Yes, it is in /usr/bin/gcc-4.3.   And even if you tell the installer that's the path you want to use, it still complains that it is not a valid compiler.

And VMware says that Debian 6.0 (and 6.0.1, and 6.0.2) are supported under Fusion 4 and ESXi 5.

0 Kudos
PeterP86
Contributor
Contributor

Can you post here exactly error?

0 Kudos
petrovden
Contributor
Contributor

Have a look at this:

Installation VMware Tools sur Debian 6

http://www.youtube.com/watch?v=c8rW8DqdoHI

It should help.

0 Kudos
Deryni
Enthusiast
Enthusiast

Sorry, remarkably not helpful.  This isn't the first time I've installed the tools.  I've even installed them on Fusion 4.0.1.  However now that Fusion 4.0.2 is installed, no joy.   As noted earlier, 4.0.2 comes with v8.8.0-465068 of the tools.  Anybody happen to have 4.0.1 (or 4.0) still installed and can report what version that was using?

As for the request for exactly what it's complaining about:

Searching for GCC...
The path "" is not valid path to the gcc binary.
Would you like to change it? [yes]
What is the location of the gcc program on your machine? /usr/bin/gcc-4.3
The path "/usr/bin/gcc-4.3" is not valid path to the gcc binary.
Would you like to change it? [yes] ^C
Execution aborted.
root@debian:~# which gcc-4.3
/usr/bin/gcc-4.3
root@debian:~# gcc-4.3 -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.5-4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.5 (Debian 4.3.5-4)
root@debian:~#

So note that it doesn't find it on its own, and even when told exactly where it is, it can't run it, and the executable will actually run.

0 Kudos
hajk
Enthusiast
Enthusiast

I have followed this whole thread with increasing disbelief, so finally I decided to check the problem for myself. I have just installed Debian Squeeze (from the debian-6.0.2.1-amd64-netinst.iso) in a new Fusion 4.0.2 VM, accepting all defaults offered by Fusion, and all defaults offered by the Debian Installer as well.

After first login I provided a suitable ModeLine for the vm-legacy video driver, so that I could use the 2560x1440 resolution at 60Hz of my 27-inch iMac.

I then followed my own recipe (as root):

# aptitude install module-assistant

# m-a prepare

# ln -fs /usr/bin/gcc-4.3 /usr/bin/gcc

I next untarred the VMware Tools sources to my home directory (as user), entered the vmware-tools-distr directory, and (as root)

# ./vmware-install.pl

which recognized the gcc compiler correctly and proceeded to install/compile everything OK (I accepted all defaults).

So, it appears that the OP has messed with his system in a way that may be difficult to fix from afar. At least, he now knows that the problem isn't VMware Tools or Fusion, or indeed Debian Squeeze...

Good luck!

P.S. Others following this recipe, don't forget to link /usr/bin/gcc back to gcc-4.4 afterwards.

petrovden
Contributor
Contributor

Yesterday I spent a few hours trying to install vmware tools. I had just upgraded VMware Fusion to 4.0.2 and then I installed Debian 6 from scratch over the network. Gcc, linux-headers, make, etc. were installed but nonetheless the vmware configuration script couldn't find GCC even if i specified it explictly.
Then I simply followed the steps given above and the problem was solved.
Good luck!
FYI: I do not use X. I haven't chosen it in tasksel.
0 Kudos
Deryni
Enthusiast
Enthusiast

Well here's an interesting twist.  I tend to not use module-assistant, but normally just apt-get install build-essential and linux-headers-2.6-amd64.  But installing a fresh VM with all of the defaults, except changing the NIC from NAT to Bridged, and _not_ installing X (deselecting the first item in tasksel), and using module-assistant.... same problem.    Install a fresh VM as above, but include X, and it finds gcc-4.3 (without the symlink).

So... my VM has no need for X (most of mine don't), so I don't install it.  Wonder what's in all of the X packages that prevents it from finding gcc? 

0 Kudos
Deryni
Enthusiast
Enthusiast

Aha!  I think I've found the answer.  It would appear that the tools now have an additional library dependancy that they didn't have before.  Whatever mechanism they're using to detect a valid gcc, it now links against libglib.  So in addition to the module assistant you also need to install "libglib2.0-dev".

0 Kudos
hajk
Enthusiast
Enthusiast

Hmm... it may well be something like that, but not necessarily the libglib2.0-dev package. It is not installed on my Debian Squeeze VM referenced earlier, yet the VMware Tools installer was able to find the correct /usr/bin/gcc.

I've just looked through the dependencies of the open-vm-source package in the Debian Squeeze repository, and I see no mention of libglib2.0-dev there either (not even recursively).

0 Kudos
Deryni
Enthusiast
Enthusiast

Why is the open-vm-source package relevant?  From the top of their page: "VMware Tools shipped with Workstation 7.1 and Fusion 3.1".  Since we're talking about Fusion 4.x, and a suspicion that something has changed recently in the composition of the tools that come with the product (I suspect between v4.0.1 and v4.0.2, but nobody has mentioned the version of VMware tools on 4.0.1 which I no longer have installed), stating that a previous version works doesn't prove a failure in the diagnosis.

Digging through the various installation scripts (vmware-config-tools.pl, specifically), it appears to use "vmware-modconfig-console" to find the right gcc.  That's a symlink to "appLoader".  I can only guess that appLoader loads a shared object to execute a particular program.  So I have to presume that it's trying to load libvmware-modconfig-console.so.   ldd on /usr/lib/vmware-tools/lib64/libvmware-modconfig-console.so shows that libglib-2.0.so.0 is not found.   True, we don't need the -dev package.   apt-get install libglib2.0-0 (which pulls in libglib2.0-data and shared-mime-info) is sufficient to resolve the problem.

So it would appear that to get the tools to install on Squeeze 64-bit (I suspect 32-bit has the same problem, haven't tried it), it is sufficient to do:

  apt-get install build-essential linux-headers-2.6-amd64 libglib2.0-0

Before running the install.  (Change the linux-headers as appropriate for 32-bit)

Edit:

One final question, can anybody confirm that simply adding libglib2.0-0 also solves this for them?  (Note that the Graphical desktop environment selection during install likely installs this package already....)

Message was edited by: Deryni

0 Kudos
PeterP86
Contributor
Contributor

You see... the problem is that, you have done some unusual installation of VMware tools. On Debian 6.0 Squeeze to install VMware tools properly you need two packages with their suggested/recommended:

# apt-get install linux-headers-`uname -r`

# apt-get install make

+ For linux-headers-`uname -r`

The following extra packages will be installed:
binutils cpp-4.3 gcc-4.3 gcc-4.3-base libc-dev-bin libc6-dev libgmp3c2 libgomp1 libmpfr4 linux-headers-2.6.32-5-common linux-kbuild-2.6.32 linux-libc-dev manpages-dev

Suggested packages:
binutils-doc gcc-4.3-locales gcc-4.3-multilib libmudflap0-4.3-dev gcc-4.3-doc libgcc1-dbg libgomp1-dbg libmudflap0-dbg glibc-doc

Recommended packages:
gcc c-compiler

---

There is no need to install anything else or use ln command. After installing gcc-4.4 before gcc-4.4 or after you should link gcc-4.3 as gcc while installing VMware tools. But if you install only gcc-4.3 there is no need to link anything.

Message was edited by: PeterP86

0 Kudos
PeterP86
Contributor
Contributor

Could you upload somewhere these VMware Tools v8.8.0-465068?

0 Kudos
Deryni
Enthusiast
Enthusiast

I am uncertain about the redistributableness of that piece... but in any case, they're the tools that are supplied by Fusion 4.0.2.  Pick the "Install VMware Tools" menu option and it should be available to your VM as normal.

0 Kudos