VMware Communities
Aoxo
Contributor
Contributor

Error installing vmware tools on Kubuntu 13.04 (vmhgfs module)

After doing a distribution upgrade from Kubuntu 12.10 to 13.04, when I reinstall vmware tools I'm getting errors in the "vmhgfs module" part of the install.  This is preventing the filesystem driver from working it seems.  Full text of the install process is here, and the area with the errors is lines 285-358.  Things seem to fall apart after...

/tmp/modconfig-ZJ54iS/vmhgfs-only/inode.c:888:4: error: implicit declaration of function ‘vmtruncate’ [-Werror=implicit-function-declaration]

Without this module, I'm unable to share host folders with the guest directly.  All dependencies are installed, ie: make, gcc, binutils, kernel-headers; and detected properly.

Reply
0 Kudos
7 Replies
Aoxo
Contributor
Contributor

bump : P

Anyone?

Reply
0 Kudos
john_willis
Enthusiast
Enthusiast

I'm sorry I can't offer specific details on how to fix.

However it appears to indicate your headers do not define a previously defined function or variable. Which the inode.c code expects for this module.

Modules are like Objects to 'C' code and depend on a certain number of assumptions in order to recompile successfully.

When a kernel or library gets replaced, or updated, so do their headers. Older functions and declarations fall out of date and support and no longer exist in newer versions. So the module code must be updated and adapted to work with the newer environment.

You can downgrade or run an older kernel, and the existing compiled module will load and work as before.

Or you can attempt to change the code yourself if your a good programmer.

Or you can wait for the vmhgfs to be released in a version compatible with your kernel and libraries.

Its also remotely possible you don't have your kernel-headers installed, that would look similar to this error; obviously its trying to recompile the module from the error message, and if the kernel-headers are not installed on your system; it won't be able to access the declarations and would assume the first time it encounters the usage of the value or function as a new undefined declaration. Often Linux distributions do not install the source code or headers for a program or module to save space and setup time. They are generally only of interest to program developers. So they tuck them away in separate kernel-devel or kernel-header packages you can optionally install later when you know you will need them.

If all of this overwhelms you, you would be better off waiting until VMware releases an update to VMware Tools that specifically covers your Distro and release version.. generally then the tools will either include a precompiled binary module guaranteed to work, or source code guaranteed to compile on that release version.

Good Luck

Aoxo
Contributor
Contributor

Thank you for responding.

Yeah my guess was that something changed in the kernel an no longer allows or supports something utilized in that one component of vmware tools.  I have hacked together some sloppy lua and javascript but I wouldn't call myself a programmer.

I'm 99.99% sure I have the headers installed for a few reasons.  The were installed before I ran this distribution upgrade, and would have been updated long with everything else.  The vmware tools installer searched for and detected the kernel, and successfully built all the other modules successfully up to the point where vmhgfs failed.  I also checked for the package and its installed according to muon package manager and apt.  I'm only giving it .01% of doubt because of the message after the error about making sure kernel headers are installed.

I'm not familiar with downgrading the kernel.  I would assume that would break lots of other things though unless i just downgraded to 12.10 entirely.

I did find another thread on the Ubuntu forums here where someone experienced the same problem.  I also tried asking here on the Kubuntu forums.  It looks like people have been patching the problem as mentioned in this vmware communities thread, for ubuntu and fedora as well.  It sounds like some hassles.

My next step is probably to try openvm-tools from the repository I guess.

Reply
0 Kudos
john_willis
Enthusiast
Enthusiast

The open tools are an option.

This thread seems to indicate a coder trying to patch the inode.c code directly

http://communities.vmware.com/message/2130250

Running patch is an old Perl-ism for people from dialup Bulletin Board Days (BBS) if you not from that generation it may seem difficult and not something you want to pursue.

Reply
0 Kudos
john_willis
Enthusiast
Enthusiast

I think your on to something regarding the open tools it looks like the bug was discovered and patched 2013-01-30.

"This bug was fixed in the package open-vm-tools - 2012.12.

26-958366-0ubuntu1"

https://bugs.launchpad.net/ubuntu/+source/open-vm-tools/+bug/1100096

Aoxo
Contributor
Contributor

I gave VMware Workstation a shot...it failed as well.  Someone in another forum said it worked without a patch on FC18....it didn't work any better for me though.  So next I tried open-vm-tools.  It works but doesn't mount at boot.

I followed someones advice and added:

mount -t vmhgfs .host:/ /mnt/hgfs

to the bottom line of /etc/init.d/open-vm-tools.  Seems to work.

Seems a bit odd that the open source version is more up to date than the proprietary version : \

Oh well maybe now when i update my kernel I wont have to recompile tools I can just get a newer one from the repo.

Reply
0 Kudos
john_willis
Enthusiast
Enthusiast

Cool

Glad to know there is a solution out there that works for you.

Not that odd when you consider open doesn't have to go through extensive Q&A before public release.

Its more a project reputation qualification.

In any event, I'm glad to hear that it worked.

Reply
0 Kudos