Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian Jessie/Wheezy 3.16 vmhgfs compile failure (Fusion 7.1.1 Tools) #26

Closed
cspicer opened this issue Feb 23, 2015 · 12 comments
Closed

Comments

@cspicer
Copy link

cspicer commented Feb 23, 2015

Hello,

I'm currently running into problems trying to compile the vmhgfs shared folder module on Debian Jessie and also Wheezy running a backported kernel (3.16.0-0.bpo.4-amd64). There's also a new version of tools available which may contribute to the issue for Fusion 7.1.1.

Here is the output I'm running into:

./untar-and-patch-and-compile.sh
=== Patching ./VMwareTools-9.9.2-2496486.tar.gz ...

Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
patch is already the newest version.
psmisc is already the newest version.
psmisc set to manually installed.
linux-headers-3.16.0-0.bpo.4-amd64 is already the newest version.
The following NEW packages will be installed:
  dkms linux-headers-3.2.0-4-amd64 linux-headers-3.2.0-4-common
  linux-headers-amd64 linux-kbuild-3.2
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,531 kB of archives.
After this operation, 28.1 MB of additional disk space will be used.
Get:1 http://security.debian.org/ wheezy/updates/main linux-headers-3.2.0-4-common amd64 3.2.65-1+deb7u1 [3,586 kB]
Get:2 http://http.debian.net/debian/ wheezy/main dkms all 2.2.0.3-1.2 [77.4 kB]
Get:3 http://http.debian.net/debian/ wheezy/main linux-kbuild-3.2 amd64 3.2.17-1 [238 kB]
Get:4 http://http.debian.net/debian/ wheezy/main linux-headers-amd64 amd64 3.2+46 [4,450 B]
Get:5 http://security.debian.org/ wheezy/updates/main linux-headers-3.2.0-4-amd64 amd64 3.2.65-1+deb7u1 [625 kB]
Fetched 4,531 kB in 10s (430 kB/s)
Selecting previously unselected package dkms.
(Reading database ... 46523 files and directories currently installed.)
Unpacking dkms (from .../dkms_2.2.0.3-1.2_all.deb) ...
Selecting previously unselected package linux-headers-3.2.0-4-common.
Unpacking linux-headers-3.2.0-4-common (from .../linux-headers-3.2.0-4-common_3.2.65-1+deb7u1_amd64.deb) ...
Selecting previously unselected package linux-kbuild-3.2.
Unpacking linux-kbuild-3.2 (from .../linux-kbuild-3.2_3.2.17-1_amd64.deb) ...
Selecting previously unselected package linux-headers-3.2.0-4-amd64.
Unpacking linux-headers-3.2.0-4-amd64 (from .../linux-headers-3.2.0-4-amd64_3.2.65-1+deb7u1_amd64.deb) ...
Selecting previously unselected package linux-headers-amd64.
Unpacking linux-headers-amd64 (from .../linux-headers-amd64_3.2+46_amd64.deb) ...
Processing triggers for man-db ...
Setting up dkms (2.2.0.3-1.2) ...
Setting up linux-headers-3.2.0-4-common (3.2.65-1+deb7u1) ...
Setting up linux-kbuild-3.2 (3.2.17-1) ...
Setting up linux-headers-3.2.0-4-amd64 (3.2.65-1+deb7u1) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.2.0-4-amd64
Setting up linux-headers-amd64 (3.2+46) ...
*** Applying vmhgfs/vmhgfs-3.15-vfs_readlink.patch ...
patching file link.c
Hunk #1 succeeded at 160 (offset 9 lines).
Hunk #2 succeeded at 200 (offset 11 lines).
*** Applying vmhgfs/vmhgfs-smp_mb_before_clear_bit-3.18-tools-9.9.0.patch ...
patching file page.c
*** Skipping vmhgfs/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch: did not apply cleanly
*** Skipping vmhgfs/vmhgfs-vfs_readlink-kernel-3.16-tools-9.6.2.patch: did not apply cleanly
*** Skipping vmhgfs/compat_dcache.h.patch: did not apply cleanly
*** Skipping vmhgfs/vmhgfs-uid-gid-kernel-3.12-tools-9.6.1.patch: did not apply cleanly
*** Skipping vmhgfs/vmhgfs-d_set_type-kernel-3.18.1-tools-9.6.1.patch: did not apply cleanly
*** Skipping vmhgfs/vmhgfs-wait_on_bit-kernel-3.17-tools-9.6.2.patch: did not apply cleanly
*** Skipping vmhgfs/vmware9.compat_mm.patch: did not apply cleanly
*** Applying vmhgfs/vmhgfs-d_alias-kernel-3.17.7-tools-9.9.0.patch ...
patching file inode.c
*** Skipping vmhgfs/vmhgfs-rename_deprecated-kernel-3.18.1-tools-9.6.1.patch: did not apply cleanly
*** Skipping vmhgfs/patch_inode.c.patch: did not apply cleanly
*** Applying vsock/vsock-sk_data_ready-kernel-3.15-tools-9.6.2.patch ...
patching file linux/notify.c
patching file linux/notifyQState.c
*** Applying vmblock/vmblock.3.11.patch ...
patching file linux/file.c
*** Applying vmblock/vmblock.3.10.patch ...
patching file linux/control.c
*** Applying vmblock/vmblock-vfs_readlink-kernel-3.15-tools-9.6.2.patch ...
patching file linux/inode.c
Hunk #1 succeeded at 177 (offset -1 lines).
*** Applying vmci/vmware9.k3.8rc4.patch ...
patching file linux/driver.c
Reversed (or previously applied) patch detected!  Assuming -R.
Hunk #1 succeeded at 128 with fuzz 1 (offset 4 lines).
Hunk #2 succeeded at 1745 (offset -5 lines).
Hunk #3 succeeded at 1976 (offset -2 lines).
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 path "/usr/lib/vmware-tools" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[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]

Initializing...


Making sure services for VMware Tools are stopped.

Stopping Thinprint services in the virtual machine:
   Stopping Virtual Printing daemon:                                   done
Stopping VMware Tools services in the virtual machine:
   Guest operating system daemon:                                      done
   VMware User Agent (vmware-user):                                    done
   Unmounting HGFS shares:                                             done
   Guest filesystem driver:                                            done


update-rc.d: using dependency based boot sequencing
insserv: Service cups has to be enabled to start service vmware-tools-thinprint
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
WARNING: The installer initially used the 'udpate-rc.d' to setup the
vmware-tools service.  That command cannot be found.  Please re-install the
'sysv-rc' package.  This script will now attempt to manually setup the
vmware-tools service.The module vmci has already been installed on this system by another package
and clobbering vmci is not supported.

The module vsock has already been installed on this system by another package
and clobbering vsock is not supported.

The module vmxnet3 from this package is not supported for kernels >= 3.10. You
must use the version of the driver supplied by the kernel.

The module pvscsi from this package is not supported for kernels >= 3.10. You
must use the version of the driver supplied by the kernel.

The module vmmemctl from this package is not supported for kernels >= 3.10. You
must use the version of the driver supplied by the kernel.

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 kernel build system.
make: Entering directory `/tmp/modconfig-SblL3I/vmhgfs-only'
/usr/bin/make -C /lib/modules/3.16.0-0.bpo.4-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-0.bpo.4-amd64'
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-0.bpo.4-amd64'
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/backdoor.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/backdoorGcc64.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/bdhandler.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/cpNameLinux.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/cpNameLite.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/dentry.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/dir.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/file.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/filesystem.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/fsutil.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/hgfsBd.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/hgfsEscape.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/hgfsUtil.o
  CC [M]  /tmp/modconfig-SblL3I/vmhgfs-only/inode.o
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: warning: initialization from incompatible pointer type [enabled by default]
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: warning: initialization makes pointer from integer without a cast [enabled by default]
/tmp/modconfig-SblL3I/vmhgfs-only/inode.c:1920:7: error: ‘struct dentry’ has no member named ‘d_alias’
make[4]: *** [/tmp/modconfig-SblL3I/vmhgfs-only/inode.o] Error 1
make[3]: *** [_module_/tmp/modconfig-SblL3I/vmhgfs-only] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-0.bpo.4-amd64'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-SblL3I/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)

The vmblock enables dragging or copying files between host and guest in a
Fusion or Workstation virtual environment.  Do you wish to enable this feature?
[yes]

NOTICE:  It appears your system does not have the required fuse packages
installed.  The VMware blocking filesystem requires the fuse packages and its
libraries to function properly.  Please install the fuse or fuse-utils package
using your systems package management utility and re-run this script in order
to enable the VMware blocking filesystem.

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]

Do you want to enable Guest Authentication (vgauth)? [yes]

No X install found.

Creating a new initrd boot image for the kernel.
update-initramfs: Generating /boot/initrd.img-3.16.0-0.bpo.4-amd64
   Starting Virtual Printing daemon:                                   done
   Checking acpi hot plug                                              done
Starting VMware Tools services in the virtual machine:
   Switching to guest configuration:                                   done
   Guest operating system daemon:                                      done
The configuration of VMware Tools 9.9.2 build-2496486 for Linux for this
running kernel completed successfully.

You must restart your X session before any mouse or graphics changes take
effect.

You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line.

To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.

Enjoy,

--the VMware team

Any suggestions for getting past this? I can provide further information if needed. Thanks!

@bzed
Copy link

bzed commented Feb 23, 2015

For jessie, just use open-vm-tools / open-vm-tools-desktop, shipped with jessie, together with the xserver-xorg-video-vmware package. There is a backport the wheezy from the current open-vm-tools packages, but you need to have systemd in wheezy for all desktop features. In jessie it should work out of the box, if not, please open a bug report in Debian so we can at least try to fix it for Jessie.

@rasa
Copy link
Owner

rasa commented Feb 23, 2015

@bzed's right, but if you really want to use VMware Tools 9.9.2, then check out #27, which I'm testing now.

@ojde
Copy link

ojde commented Feb 26, 2015

Had this yesterday with 9.9.0 and solved it by modifying /vmhgfs/vmhgfs-d_alias-kernel-3.17.7-tools-9.9.0.patch:
Changed the (two) kernelversionchecks from
...LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 7) ...
to
...LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0) ...
Compiled and works like a charm

@bzed
Copy link

bzed commented Feb 26, 2015

I think LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 7) would be the appropriate fix, did not verify it, though. Built fine on 3.16.0 with d_alias but failed on 3.16.7 here.

@ojde
Copy link

ojde commented Feb 27, 2015

As of Feb, 24th, the Debian 8 Jessie's uname -r said 3.16.0-4-amd64 and did complain about error: ‘struct dentry’ has no member named ‘d_alias’ so I had to use < KERNEL_VERSION(3, 16, 0)

@bzed
Copy link

bzed commented Feb 27, 2015

But the internal kernel version is 3.16.7 of I'm not all wrong. The Debian release number has nothing to do with KERNELVERSION

Am 27. Februar 2015 09:01:32 MEZ, schrieb ojde notifications@github.com:

As of Feb, 24th, the Debian 8 Jessie's uname -r said 3.16.0-4-amd64
and did complain about error: ‘struct dentry’ has no member named ‘d_alias’ so I had to use < KERNEL_VERSION(3, 16, 0)


Reply to this email directly or view it on GitHub:
#26 (comment)

Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

@ojde
Copy link

ojde commented Feb 27, 2015

You're perfectly right. Just tested with KERNEL_VERSION(3, 16, 7) and it does compile and work.

Sorry, but I got confused with what uname -r and uname -v do give. On another machine (Debian 6) uname -v just gave a date:

root@debian6:~# uname -v
#1 SMP Tue May 13 16:33:32 UTC 2014
root@debian6:~# uname -r
2.6.32-5-686

even so the the uname --help said

  -r, --kernel-release     print the kernel release
  -v, --kernel-version     print the kernel version

so I did not expect that there would be something different on Jessie - but there was:

root@debian8:~# uname -r
3.16.0-4-amd64
root@debian8:~# uname -v
#1 SMP Debian 3.16.7-ckt4-3 (2015-02-03)

@rasa rasa closed this as completed in 6fbf7a0 Mar 7, 2015
@mafrosis
Copy link
Contributor

I still have this problem on wheezy 7.8 iso. Apparently 6fbf7a0 should have fixed it - but it didn't for me.. What should I look at to help get this sorted?

The main difference I have is using VMWare 6, which means I'm way back on VMwareTools-9.6.2-1688356..

vmware-iso: CC [M]  /tmp/modconfig-jglJuC/vmhgfs-only/inode.o
vmware-iso: /tmp/modconfig-jglJuC/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
vmware-iso: /tmp/modconfig-jglJuC/vmhgfs-only/inode.c:1956:34: error: ‘struct dentry’ has no member named ‘d_alias’
vmware-iso: /tmp/modconfig-jglJuC/vmhgfs-only/inode.c:1956:34: warning: initialization from incompatible pointer type [enabled by default]
vmware-iso: /tmp/modconfig-jglJuC/vmhgfs-only/inode.c:1956:34: warning: (near initialization for ‘dentry’) [enabled by default]
vmware-iso: /tmp/modconfig-jglJuC/vmhgfs-only/inode.c:1956:34: error: ‘struct dentry’ has no member named ‘d_alias’
vmware-iso: make[4]: *** [/tmp/modconfig-jglJuC/vmhgfs-only/inode.o] Error 1
vmware-iso: make[3]: *** [_module_/tmp/modconfig-jglJuC/vmhgfs-only] Error 2
vmware-iso: make[2]: *** [sub-make] Error 2
vmware-iso: make[1]: *** [all] Error 2
vmware-iso: make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64'
vmware-iso: make: *** [vmhgfs.ko] Error 2
vmware-iso: make: Leaving directory `/tmp/modconfig-jglJuC/vmhgfs-only'

Thanks!

ps. I also see the same problem with a trusty build - I'm just testing various builds/configurations on that too..

@dragon788
Copy link
Contributor

@mafrosis still having issues with the latest code here?

@mafrosis
Copy link
Contributor

@dragon788 I'm not having any problems anymore - but that's possibly because I upgraded to Fusion 8, and I'm using Jessie now, not Wheezy

@bzed
Copy link

bzed commented Jan 27, 2016

You guys should use open-vm-tools from jessie-backports (or wheezy-backports).

@mafrosis
Copy link
Contributor

@bzed Last time I tried that, it didn't work at all.. Couldn't mount any disks in Debian/Fusion :/

Maybe time to give it another try? Admittedly, it was about a year ago last time I tried it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants