Bug 29991 - open-vm-tools does not compile on UCS 3.1
Summary: open-vm-tools does not compile on UCS 3.1
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: Kernel
Version: UCS 3.1
Hardware: Other Linux
: P5 normal
Target Milestone: UCS 3.1-0-errata
Assignee: Philipp Hahn
QA Contact: Stefan Gohmann
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-10 13:45 CET by Tim Petersen
Modified: 2013-01-25 10:31 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Petersen univentionstaff 2013-01-10 13:45:24 CET
The current open-vm-tools does not compile against 3.2 kernel at UCS 3.1:
"
[...]
/usr/src/modules/open-vm/modules/linux/vmblock/linux/dentry.c: In function ‘DentryOpRevalidate’:
/usr/src/modules/open-vm/modules/linux/vmblock/linux/dentry.c:107: error: implicit declaration of function ‘path_lookup’
make[7]: *** [/usr/src/modules/open-vm/modules/linux/vmblock/linux/dentry.o] Fehler 1
make[6]: *** [_module_/usr/src/modules/open-vm/modules/linux/vmblock] Fehler 2
make[5]: *** [sub-make] Fehler 2
make[4]: *** [all] Fehler 2
make[4]: Leaving directory `/usr/src/linux-headers-3.2.0-ucs17-686-pae'
make[3]: *** [vmblock.ko] Fehler 2
make[3]: Leaving directory `/usr/src/modules/open-vm/modules/linux/vmblock'
make[2]: *** [build] Fehler 2
make[2]: Leaving directory `/usr/src/modules/open-vm'
make[1]: *** [binary-modules] Fehler 2
make[1]: Leaving directory `/usr/src/modules/open-vm'
make: *** [kdist_build] Fehler 2
"

Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629980 and ticket #2013011021000675 for further reference.

root@master:~# apt-cache policy open-vm-tools
open-vm-tools:
  Installiert: (keine)
  Kandidat:    1:8.4.2-261024-1.1.201206080816
  Versionstabelle:
     1:8.4.2-261024-1.1.201206080816 0
        500 http://univention-repository.knut.univention.de/3.0/unmaintained/ 3.0-2/amd64/ Packages

This is marked as fixed in testing:
Changes: 
open-vm-tools (2:8.4.2+2011.08.21-471295-1) unstable; urgency=low
.
   * Merging upstream version 8.4.2+2011.08.21-471295 (Closes:
#608823):
     - building against newer libnotify (Closes: #636344).
     - works with current kernels (Closes: #614292, #617536, #629980).
Comment 1 Stephan Hendl 2013-01-14 08:59:13 CET
With version 8.4.2+2011.08.21-471295 there are errors too:

make -C /lib/modules/3.2.0-ucs17-686-pae/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
          MODULEBUILDDIR= modules
make[4]: Entering directory `/usr/src/linux-headers-3.2.0-ucs17-686-pae'
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/bdhandler.o
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/dentry.o
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/dir.o
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/file.o
/usr/src/modules/open-vm/modules/linux/vmhgfs/file.c:128: warning: initialization from incompatible pointer type
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/filesystem.o
  CC [M]  /usr/src/modules/open-vm/modules/linux/vmhgfs/fsutil.o
/usr/src/modules/open-vm/modules/linux/vmhgfs/fsutil.c: In function ‘HgfsChangeFileAttributes’:
/usr/src/modules/open-vm/modules/linux/vmhgfs/fsutil.c:610: error: assignment of read-only member ‘i_nlink’
make[7]: *** [/usr/src/modules/open-vm/modules/linux/vmhgfs/fsutil.o] Fehler 1
make[6]: *** [_module_/usr/src/modules/open-vm/modules/linux/vmhgfs] Fehler 2
make[5]: *** [sub-make] Fehler 2
make[4]: *** [all] Fehler 2
make[4]: Leaving directory `/usr/src/linux-headers-3.2.0-ucs17-686-pae'
make[3]: *** [vmhgfs.ko] Fehler 2
make[3]: Leaving directory `/usr/src/modules/open-vm/modules/linux/vmhgfs'
make[2]: *** [build] Fehler 2
make[2]: Leaving directory `/usr/src/modules/open-vm'
make[1]: *** [binary-modules] Fehler 2
make[1]: Leaving directory `/usr/src/modules/open-vm'
make: *** [kdist_build] Fehler 2

The only place where I could find the sources is https://launchpad.net/debian/+source/open-vm-tools/2:8.4.2+2011.08.21-471295-1 because the package was upgraded to 8.8.0+2012.05.21-724730-1+nmu2 in wheezy (testing)
Comment 2 Stephan Hendl 2013-01-14 09:04:09 CET
Please see also Debian Bug #656618 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656618
Comment 3 Philipp Hahn univentionstaff 2013-01-15 20:13:09 CET
# Required build steps:
univention-install module-assistant univention-kernel-headers
module-assistant auto-install open-vm -i


That will build multiple kernel modules: pvscsi, vmblock, vmci, vmhgfs, vmmemctl, vmsync, vmxnetm, vmxnet3, vsock

8.4.2-261024 is the laltest version from the 8.4 branch. There are several more branches: 8.6, 8.8, 9.0, 9.2.
See <http://sourceforge.net/projects/open-vm-tools/files/open-vm-tools/>
Debian-Wheezy has 8.8, the latest stable is 9.0.

I have a patch extracted from 8.8.0+2012.05.21-724730 which at least fixes the first module "vmblock", but which then fails with the next module "vmci".

The changes between 8.4 and 8.8 are huge, so continuing with a back-port of those channges will probably be hard to impossible.
Building 8.8 doesn't currently work either, because the package is adapted to the build chain of Debian-Wheezy already and depends on newer packages unavailavle in Debian-Squeeze (UCS-3.1).
Comment 4 Philipp Hahn univentionstaff 2013-01-16 10:55:01 CET
open-vm-tools-8.8 has beed imported from Debian-Wheezy and was adapted to UCS-3.1.

Here are the steps to install the package:
 ucr set repository/online/unmaintained=yes
 univention-install open-vm-dkms univention-kernel-headers
 reboot

I successfully tested the package on our old VMware server 1.0.8.
+ Modules were compiled and installable:
  /lib/modules/3.2.0-ucs17-686-pae/updates/dkms/{vmblock,vmci,vmhgfs,vmsync,vmxnet,vsock}.ko
+ vmware tools were working as expected:
  vmware-checkvm, vmware-xferlogs, vmware-toolbox-cmd

Patch: svn11294
open-vm-tools_8.8.0+2012.05.21-724730-1+nmu2.2.201301160904

ChangeLog: svn16090
\item \ucsName{open-vm-tools} version 8.8 has been back-ported to UCS-3.1 to provide VMware support with Linux 3.2 kernels (\ucsBug{29991}).

YAML: 2013-01-16-open-vm-tools.yaml svn16089
Comment 5 Stefan Gohmann univentionstaff 2013-01-25 07:18:52 CET
I could build and use the modules on amd64 and i386 systems.

YAML is OK.

The open-vm packages should be moved to maintained, therefore exists now a new bug: Bug #30173.
Comment 6 Stefan Gohmann univentionstaff 2013-01-25 10:11:17 CET
The note in http://errata.univention.de/3.1-errata23.html is not correct. It must be:
 ucr set repository/online/component/3.1-0-errata/parts="maintained,unmaintained"
Comment 7 Moritz Muehlenhoff univentionstaff 2013-01-25 10:31:37 CET
http://errata.univention.de/3.1-errata23.html