pdfan
Contributor
Contributor

configuration of vmhgfs in vmware-tools failed on gentoo linux

on currently released gentoo linux-2.6.29-r5. using VMwareTools-7.8.5-156735.tar.gz. to install the vmware-tools, steps taken:

================================

mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

cp VMware-tools*.tar.gz /tmp

cd /tmp

tar xzvf VMware-tools*.tar.gz

cd vmware-tools-distrib

mkdir /etc/init.d/rc{0,1,2,3,4,5,6}.d

./vmware-install.pl

vmware-config-tools.pl

================================

1. after running the vmware-config-tools.pl command, when it comes to vmhgfs, failed with the following error message:

=================================

Using 2.6.x kernel build system.

make -C /lib/modules/2.6.29-gentoo-r5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD

/. modules

make[1]: Entering directory `/usr/src/linux-2.6.29-gentoo-r5'

CC /tmp/vmware-config1/vmhgfs-only/bdhandler.o

In file included from /tmp/vmware-config1/vmhgfs-only/request.h:35,

from /tmp/vmware-config1/vmhgfs-only/bdhandler.c:50:

/tmp/vmware-config1/vmhgfs-only/compat_wait.h:78: error: conflicting types for '

poll_initwait'

include/linux/poll.h:67: error: previous declaration of 'poll_initwait' was here

make[2]: *** Error 1

make[1]: *** module/tmp/vmware-config1/vmhgfs-only Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.29-gentoo-r5'

make: *** Error 2

====================================

in the file /tmp/vmware-config1/vmhgfs-only/compat_wait.h, line 78 and 67 are identical, so I guess the 78th line should be deleted.

2. then run vmware-config-tools.pl again when the vmhgfs just start quickly press Ctrl-z to pause and then commented the 78th line of /tmp/vmware-config?/vmhgfs-only/compat_wait.h, then "fg" to resume , it failed with error mesage:

====================================

make -C /lib/modules/2.6.29-gentoo-r5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD

/. modules

make[1]: Entering directory `/usr/src/linux-2.6.29-gentoo-r5'

CC /tmp/vmware-config1/vmhgfs-only/bdhandler.o

CC /tmp/vmware-config1/vmhgfs-only/cpName.o

CC /tmp/vmware-config1/vmhgfs-only/cpNameLinux.o

CC /tmp/vmware-config1/vmhgfs-only/cpNameLite.o

CC /tmp/vmware-config1/vmhgfs-only/dentry.o

CC /tmp/vmware-config1/vmhgfs-only/dir.o

CC /tmp/vmware-config1/vmhgfs-only/file.o

/tmp/vmware-config1/vmhgfs-only/file.c: In function 'HgfsOpen':

/tmp/vmware-config1/vmhgfs-only/file.c:640: error: 'struct task_struct' has no m

ember named 'fsuid'

/tmp/vmware-config1/vmhgfs-only/file.c:640: error: 'struct task_struct' has no m

ember named 'fsgid'

make[2]: *** Error 1

make[1]: *** module/tmp/vmware-config1/vmhgfs-only Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.29-gentoo-r5'

make: *** Error 2

====================================

new kernel changed task_struct ? and still further emerge of the open-vm-tools package failed too:

====================================

...............................

checking for getstat in -lproc-3.2.7... no

configure: error: libproc not found. Please configure without procps (using --wi

thout-procps) or install procps - http://procps.sourceforge.net

!http://communities.vmware.com/message/1272239/!! Please attach the following file when seeking support:

!http://communities.vmware.com/message/1272239/!! /var/tmp/portage/app-emulation/open-vm-tools-0.0.20090121.142982/work/open-v

m-tools-2009.01.21-142982/config.log

*

  • ERROR: app-emulation/open-vm-tools-0.0.20090121.142982 failed.

...............................

====================================

after "emerge procps" , procps 3.2.8 installed:

gentoo vmhgfs-only # ls -l /lib/libproc*

-r-xr-xr-x 1 root root 54888 Jun 3 21:21 /lib/libproc-3.2.8.so

lrwxrwxrwx 1 root root 16 Jun 3 21:21 /lib/libproc.so -> libproc-3.2.8.so

still the same error as if it only ask for procps 3.2.7.

0 Kudos
1 Reply
pdfan
Contributor
Contributor

1. get patch from

2. make the *l.patch an empty file

3. modify the page.c part of the *5.patch by delete all the origninal contend, add contend of these lines as :

======================

@@ -864,7 +864,7 @@

unsigned pageTo = pos + len;

struct page *page;

  • page = __grab_cache_page(mapping, index);

+ page = grab_cache_page_write_begin(mapping, index, flags);

if (page == NULL) {

return -ENOMEM;

}

=======================

then patch it

0 Kudos