Skip to content

Instantly share code, notes, and snippets.

@drewlustro
Created March 1, 2015 10:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drewlustro/d8bd9ab0ff25c8c83566 to your computer and use it in GitHub Desktop.
Save drewlustro/d8bd9ab0ff25c8c83566 to your computer and use it in GitHub Desktop.
vmhgfs on ubuntu 14.10 install fails to compile
drew@ubuntu:~$ cd Desktop/
drew@ubuntu:~/Desktop$ ls
vmware-tools-distrib
drew@ubuntu:~/Desktop$ cd vmware-tools-distrib/
drew@ubuntu:~/Desktop/vmware-tools-distrib$ ls
bin doc etc FILES INSTALL installer lib vmware-install.pl
drew@ubuntu:~/Desktop/vmware-tools-distrib$ clear

drew@ubuntu:~/Desktop/vmware-tools-distrib$ sudo ./vmware-install.pl
[sudo] password for drew:
The installer has detected an existing installation of open-vm-tools on this
system and will not attempt to remove and replace these user-space
applications. It is recommended to use the open-vm-tools packages provided by
the operating system. If you do not want to use the existing installation of
open-vm-tools and attempt to install VMware Tools, you must uninstall the
open-vm-tools packages and re-run this installer.
The installer will next check if there are any missing kernel drivers. Type yes
if you want to do this, otherwise type no [yes]
Creating a new VMware Tools installer database using the tar4 format.
Installing VMware Tools.
In which directory do you want to install the binary files?
[/usr/bin]
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc]
What is the directory that contains the init scripts?
[/etc/init.d]
In which directory do you want to install the daemon files?
[/usr/sbin]
In which directory do you want to install the library files?
[/usr/lib/vmware-tools]
The file /sbin/mount.vmhgfs that this program was about to install already
exists. Overwrite? [yes]
In which directory do you want to install the documentation files?
[/usr/share/doc/vmware-tools]
The path "/usr/share/doc/vmware-tools" does not exist currently. This program
is going to create it, including needed parent directories. Is this what you
want? [yes]
The installation of VMware Tools 9.9.2 build-2496486 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
this program to invoke the command for you now? [yes]
The file /usr/bin/vmware-hgfsclient that this program was about to install
already exists. Overwrite? [yes]
Initializing...
Making sure services for VMware Tools are stopped.
The module vmci has already been installed on this system by another installer
or package and will not be modified by this installer.
The module vsock has already been installed on this system by another installer
or package and will not be modified by this installer.
The module vmxnet3 has already been installed on this system by another
installer or package and will not be modified by this installer.
The module pvscsi has already been installed on this system by another
installer or package and will not be modified by this installer.
The module vmmemctl has already been installed on this system by another
installer or package and will not be modified by this installer.
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]
Before you can compile modules, you need to have the following installed...
make
gcc
kernel headers of the running kernel
Searching for GCC...
Detected GCC binary at "/usr/bin/gcc".
The path "/usr/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...
Detected the kernel headers at "/lib/modules/3.16.0-31-generic/build/include".
The path "/lib/modules/3.16.0-31-generic/build/include" appears to be a valid
path to the 3.16.0-31-generic kernel headers.
Would you like to change it? [no]
make: Entering directory '/tmp/modconfig-UZeGGA/vmhgfs-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/3.16.0-31-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-31-generic'
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/message.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/dir.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/rpcout.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/hgfsUtil.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/cpName.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/link.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/request.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/stubs.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/file.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/backdoor.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/transport.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/module.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/super.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/bdhandler.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/fsutil.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/cpNameLinux.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/hgfsBd.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/filesystem.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/page.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/backdoorGcc64.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/hgfsEscape.o
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/inode.o
In file included from ./arch/x86/include/asm/percpu.h:44:0,
from ./arch/x86/include/asm/preempt.h:5,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/mm.h:9,
from include/linux/pagemap.h:7,
from /tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:29:
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
include/linux/kernel.h:834:27: error: ‘struct dentry’ has no member named ‘d_alias’
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
include/linux/kernel.h:834:48: warning: initialization from incompatible pointer type
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
In file included from include/linux/compiler-gcc.h:106:0,
from include/linux/compiler.h:54,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from ./include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from /tmp/modconfig-UZeGGA/vmhgfs-only/./shared/driver-config.h:71,
from /tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:26:
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:835:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
In file included from include/linux/preempt.h:10:0,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/mm.h:9,
from include/linux/pagemap.h:7,
from /tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:29:
include/linux/list.h:710:35: error: ‘struct dentry’ has no member named ‘d_alias’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
include/linux/list.h:697:12: note: in definition of macro ‘hlist_entry_safe’
({ typeof(ptr) ____ptr = (ptr); \
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
include/linux/list.h:710:35: error: ‘struct dentry’ has no member named ‘d_alias’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
include/linux/list.h:697:28: note: in definition of macro ‘hlist_entry_safe’
({ typeof(ptr) ____ptr = (ptr); \
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
In file included from ./arch/x86/include/asm/percpu.h:44:0,
from ./arch/x86/include/asm/preempt.h:5,
from include/linux/preempt.h:18,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/mm.h:9,
from include/linux/pagemap.h:7,
from /tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:29:
include/linux/kernel.h:834:27: error: ‘struct dentry’ has no member named ‘d_alias’
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
include/linux/kernel.h:834:48: warning: initialization makes pointer from integer without a cast
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
In file included from include/linux/compiler-gcc.h:106:0,
from include/linux/compiler.h:54,
from include/uapi/linux/stddef.h:1,
from include/linux/stddef.h:4,
from ./include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from /tmp/modconfig-UZeGGA/vmhgfs-only/./shared/driver-config.h:71,
from /tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:26:
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:835:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-UZeGGA/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
CC [M] /tmp/modconfig-UZeGGA/vmhgfs-only/dentry.o
scripts/Makefile.build:257: recipe for target '/tmp/modconfig-UZeGGA/vmhgfs-only/inode.o' failed
make[2]: *** [/tmp/modconfig-UZeGGA/vmhgfs-only/inode.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1345: recipe for target '_module_/tmp/modconfig-UZeGGA/vmhgfs-only' failed
make[1]: *** [_module_/tmp/modconfig-UZeGGA/vmhgfs-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-31-generic'
Makefile:120: recipe for target 'vmhgfs.ko' failed
make: *** [vmhgfs.ko] Error 2
make: Leaving directory '/tmp/modconfig-UZeGGA/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 ]
The vmxnet driver is no longer supported on kernels 3.3 and greater. Please
upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)
VMware automatic kernel modules enables automatic building and installation of
VMware kernel modules at boot that are not already present. This feature can be
enabled/disabled by re-running vmware-config-tools.pl.
Would you like to enable VMware automatic kernel modules?
[no]
Thinprint provides driver-free printing. Do you wish to enable this feature?
[yes]
Creating a new initrd boot image for the kernel.
update-initramfs: Generating /boot/initrd.img-3.16.0-31-generic
vmware-tools start/running
vmware-tools-thinprint start/running
The configuration of VMware Tools 9.9.2 build-2496486 for Linux for this
running kernel completed successfully.
Enjoy,
--the VMware team
drew@ubuntu:~/Desktop/vmware-tools-distrib$
@ibaoger
Copy link

ibaoger commented Aug 12, 2015

me too, how to solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment