VMware Communities
Cooolbabu
Contributor
Contributor
Jump to solution

Installing VMWare tools in Fedora 17 (guest OS)

Hello all,

I am trying to install VMWare tools in Fedora 17 and getting an error message

     The path "" is not a valid path to the 3.3.4-5.fc17.x86_64 kernel headers.

I installed gcc, binutils and make.

Kernal-headers are at the same level. However, I still get the above error.

Any help would be appreciated.

Thankyou

Here is the detail

---------------

Searching for GCC...
Detected GCC binary at "/bin/gcc".
The path "/bin/gcc" appears to be a valid path to the gcc binary.
Would you like to change it? [no]

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.3.4-5.fc17.x86_64 kernel headers.
Would you like to change it? [yes] ^C
Execution aborted.

[bpmdev@fedora17v1 3.3.4-5.fc17.x86_64]$ uname -rs
Linux 3.3.4-5.fc17.x86_64

[bpmdev@fedora17v1 3.3.4-5.fc17.x86_64]$ yum list installed | grep "kernel"
kernel.x86_64                   3.3.4-5.fc17        @koji-override-0/$releasever
kernel-headers.x86_64           3.3.4-5.fc17        @fedora 

                  
[bpmdev@fedora17v1 3.3.4-5.fc17.x86_64]$ sudo yum install kernel-PAE kernel-PAE-devel
Loaded plugins: langpacks, presto, refresh-packagekit
No package kernel-PAE available.
No package kernel-PAE-devel available.
Error: Nothing to do
[bpmdev@fedora17v1 3.3.4-5.fc17.x86_64]$

0 Kudos
1 Solution

Accepted Solutions
WoodyZ
Immortal
Immortal
Jump to solution

First .. you seem to differentiate between  x86_64 and i686 iso image for Fedora. I could not find a i686 image. Of course, I need to be on 64-bit system. If I am wrong here, then please point me in the right direction.

If you want to use the x86_64 image that's fine, assuming your system supports it.  I just used the i686 image as an example as under the scenario either will fail the same way.  Then main thing is in the error message it reported a null string for the location of the default 3.3.4-5.fc17.x86_64 kernel and this means that the necessary header files for that kernel were not on the system.  I presented it the way I did so one would understand that if they did a default install and no upgrade and didn't use "-`uname -r`" appended to "kernel-devel" with yum then is would install the latest kernel header files not the default and one would still get a null string error message.

Second, I upgraded to the latest version of the kernel and I get these errors now. Should I downgrade.

The latest kernel I do not believe it is officially supported by VMware yet and the VMware Tools would need to be patched with a third party patch before installing with kernels later then the default kernel.  So you'll either have to apply one of the patches that are out there on the web or use a VMware supported kernel, it's your choice.

BTW It is quite common with Linux distro once one upgrades the kernel from the default that one will usually need to use one of the third party patches to get VMware Tools to install properly and you should be able to find it in the forums and via Google.  Generally speaking, VMware is and always has been extremely slow to support newer kernels, hence the need to use third party patches to get VMware Tools to install properly on any Linux distro and kernel that is not yet officially supported! Smiley Wink

View solution in original post

0 Kudos
5 Replies
WoodyZ
Immortal
Immortal
Jump to solution

Cooolbabu wrote:


I am trying to install VMWare tools in Fedora 17 and getting an error message

     The path "" is not a valid path to the 3.3.4-5.fc17.x86_64 kernel headers.

I installed gcc, binutils and make.

Looks like you didn't install the proper kernel-devel package and why you got the error message "The path "" is not a valid path to the 3.3.4-5.fc17.x86_64 kernel headers."

The following is just an example...

If I were to install Fedora 17 in a VM say from the Live ISO Image vs. the DVD Image then wanted to install VMware Tools here is what I'd do.

As an example install Fedora 17 from the Fedora-17-i686-Live-Desktop.iso image.

Now without doing any updates install a few dependencies needed for installing VMware Tools.

In a Terminal as root issue the following command:

yum install gcc make binutils perl kernel-devel-`uname -r`

Then install VMware Tools.

Note: If "-`uname -r`" isn't appended to "kernel-devel" then as of today it would install the packages for the 3.6.3-1.fc17.i686 kernel not the default 3.3.4-5.fc17.i686 and then the error message "The path "" is not a valid path to the 3.3.4-5.fc17.i686 kernel headers." would be displayed.  Also note that if the 64-bit image was used then .i686 in the kernel would be replaced with .x86_64.

So in a root Terminal issue the following command:

yum install kernel-devel-`uname -r`

When finished then install VMware Tools and it should go okay. Smiley Happy

Cooolbabu
Contributor
Contributor
Jump to solution

WoodyZ .. Thank you for taking time to post a reply.

First .. you seem to differentiate between  x86_64 and i686 iso image for Fedora. I could not find a i686 image. Of course, I need to be on 64-bit system. If I am wrong here, then please point me in the right direction.

Second, I upgraded to the latest version of the kernel and I get these errors now. Should I downgrade.

Thank you

--------------------------------------------------

The VMware Host-Guest Filesystem allows for shared folders between the host OS
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish
to enable this feature? [yes]

Using 2.6.x kernel build system.
make: Entering directory `/tmp/modconfig-dBw3Sm/vmci-only'
/bin/make -C /lib/modules/3.6.3-1.fc17.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/linux/driver.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/linux/vmciKernelIf.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciDriver.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciResource.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciContext.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciDatagram.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciHashtable.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciEvent.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciQueuePair.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciDoorbell.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciQPair.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/common/vmciRoute.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmci-only/driverLog.o
  LD [M]  /tmp/modconfig-dBw3Sm/vmci-only/vmci.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-dBw3Sm/vmci-only/vmci.mod.o
  LD [M]  /tmp/modconfig-dBw3Sm/vmci-only/vmci.ko
make[1]: Leaving directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-dBw3Sm/vmci-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-dBw3Sm/vmci-only'
cp -f vmci.ko ./../vmci.o
make: Leaving directory `/tmp/modconfig-dBw3Sm/vmci-only'
Using 2.6.x kernel build system.
make: Entering directory `/tmp/modconfig-dBw3Sm/vmhgfs-only'
/bin/make -C /lib/modules/3.6.3-1.fc17.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/message.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/rpcout.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/filesystem.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/link.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/request.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/stubs.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/hgfsUtil.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/tcp.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/hgfsEscape.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/file.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/transport.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/module.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/super.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/vmci.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/bdhandler.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/dir.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/fsutil.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/cpNameLinux.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/hgfsBd.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/page.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/backdoorGcc64.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/backdoor.o
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/inode.o
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c: In function ‘HgfsDoWriteBegin’:
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:896:39: error: ‘KM_USER0’ undeclared (first use in this function)
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:896:39: note: each undeclared identifier is reported only once for each function it appears in
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:896:7: error: too many arguments to function ‘kmap_atomic’
In file included from include/linux/pagemap.h:10:0,
                 from /tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:28:
include/linux/highmem.h:66:21: note: declared here
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:904:36: error: macro "kunmap_atomic" passed 2 arguments, but takes just 1
/tmp/modconfig-dBw3Sm/vmhgfs-only/page.c:904:7: error: ‘kunmap_atomic’ undeclared (first use in this function)
  CC [M]  /tmp/modconfig-dBw3Sm/vmhgfs-only/dentry.o
make[2]: *** [/tmp/modconfig-dBw3Sm/vmhgfs-only/page.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:121:4: warning: initialization from incompatible pointer type [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:121:4: warning: (near initialization for ‘HgfsDirInodeOperations.create’) [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:126:4: warning: initialization from incompatible pointer type [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:126:4: warning: (near initialization for ‘HgfsDirInodeOperations.lookup’) [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:1820:7: error: ‘struct hlist_head’ has no member named ‘next’
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:1820:7: warning: comparison of distinct pointer types lacks a cast [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.c:1821:19: warning: initialization from incompatible pointer type [enabled by default]
make[2]: *** [/tmp/modconfig-dBw3Sm/vmhgfs-only/inode.o] Error 1
/tmp/modconfig-dBw3Sm/vmhgfs-only/dentry.c:43:4: warning: initialization from incompatible pointer type [enabled by default]
/tmp/modconfig-dBw3Sm/vmhgfs-only/dentry.c:43:4: warning: (near initialization for ‘HgfsDentryOperations.d_revalidate’) [enabled by default]
make[1]: *** [_module_/tmp/modconfig-dBw3Sm/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-dBw3Sm/vmhgfs-only'

The filesystem driver (vmhgfs module) is used only for the shared folder
feature. The rest of the software provided by VMware Tools is designed to work
independently of this feature.

If you wish to have the shared folders feature, you can install the driver by
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine.
These packages are available on your distribution's installation CD.
[ Press Enter key to continue ]

Using 2.6.x kernel build system.
make: Entering directory `/tmp/modconfig-HLWbkx/vmxnet-only'
/bin/make -C /lib/modules/3.6.3-1.fc17.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
  CC [M]  /tmp/modconfig-HLWbkx/vmxnet-only/vmxnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-HLWbkx/vmxnet-only/vmxnet.mod.o
  LD [M]  /tmp/modconfig-HLWbkx/vmxnet-only/vmxnet.ko
make[1]: Leaving directory `/usr/src/kernels/3.6.3-1.fc17.x86_64'
/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/modconfig-HLWbkx/vmxnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/modconfig-HLWbkx/vmxnet-only'
cp -f vmxnet.ko ./../vmxnet.o
make: Leaving directory `/tmp/modconfig-HLWbkx/vmxnet-only'

0 Kudos
WoodyZ
Immortal
Immortal
Jump to solution

First .. you seem to differentiate between  x86_64 and i686 iso image for Fedora. I could not find a i686 image. Of course, I need to be on 64-bit system. If I am wrong here, then please point me in the right direction.

If you want to use the x86_64 image that's fine, assuming your system supports it.  I just used the i686 image as an example as under the scenario either will fail the same way.  Then main thing is in the error message it reported a null string for the location of the default 3.3.4-5.fc17.x86_64 kernel and this means that the necessary header files for that kernel were not on the system.  I presented it the way I did so one would understand that if they did a default install and no upgrade and didn't use "-`uname -r`" appended to "kernel-devel" with yum then is would install the latest kernel header files not the default and one would still get a null string error message.

Second, I upgraded to the latest version of the kernel and I get these errors now. Should I downgrade.

The latest kernel I do not believe it is officially supported by VMware yet and the VMware Tools would need to be patched with a third party patch before installing with kernels later then the default kernel.  So you'll either have to apply one of the patches that are out there on the web or use a VMware supported kernel, it's your choice.

BTW It is quite common with Linux distro once one upgrades the kernel from the default that one will usually need to use one of the third party patches to get VMware Tools to install properly and you should be able to find it in the forums and via Google.  Generally speaking, VMware is and always has been extremely slow to support newer kernels, hence the need to use third party patches to get VMware Tools to install properly on any Linux distro and kernel that is not yet officially supported! Smiley Wink

0 Kudos
Cooolbabu
Contributor
Contributor
Jump to solution

I think it is a tools support issue. I tried Fedora 15 and it works. I am sticking with it for now. I will try again sometime later.

Thank you for your support.

0 Kudos
F131
Contributor
Contributor
Jump to solution

Same problem here: I'm new to linux and currently trying different distros on Workstation 9

Fresh install of Fedora 17 i686

first I had to install gcc

Fedora comes with kernel 3.4 but with headers of 3.6, so I had to upgrade the kernel to match the headers

also needed to install kernel-devel

then to apply this patch

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

but before it worked i had to install utility called "patch"

and run

chmod +x vmware_90_linux-3.6.x_patcher.sh

everything built successfully, but then I got:

Creating a new initrd boot image for the kernel.
   Starting Virtual Printing daemon:                                   done
Starting vmware-tools (via systemctl):  Job failed. See system journal and 'systemctl status' for details.
                                                           [FAILED]
Unable to start services for VMware Tools

Execution aborted.

I couldn't be bothered any further and moved on to another distro Smiley Happy

BTW tools install from the first go on Linux Mint 13, which has kernel 3.2

0 Kudos