Hallo,
ich nutze VMwarePlayer-2.0.4-93057, HOST openSUSE 11.0, GAST WIN98.
'Host to Gast drag+drop' klappt prima - 'Gast to Host drag+drop' klappt nicht.
Auszug der Installation:
Wo finde ich gcc 4.3.1 ?
Habe hier ein ähnliche Thema gefunden
(vmblock-patch für VMWare Workstation 6.0.4):
http://opsamericas.com/?p=734
Wenn ich der Anleitung folge, kommt beim Ausführen von 'runme.sh'
folgende Fehlermeldung:
hier der 'vmblock.patch' aus obigem Link
Danke für jeden Tip !
Rob
ich nutze VMwarePlayer-2.0.4-93057, HOST openSUSE 11.0, GAST WIN98.
'Host to Gast drag+drop' klappt prima - 'Gast to Host drag+drop' klappt nicht.
Auszug der Installation:
Code:
Your kernel was built with "gcc" version "4.3.1", while you are trying to use
"/usr/bin/gcc" version "4.3". This configuration is not recommended and VMware
Player may crash if you'll continue. Please try to use exactly same compiler as one used for building your kernel. Do you want to go with compiler "/usr/bin/gcc" version "4.3" anyway? no y
...
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config5/vmblock-only'
make -C /lib/modules/2.6.25.11-0.1-pae/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.25.11-0.1-obj/i386/pae'
make -C /usr/src/linux-2.6.25.11-0.1 O=/usr/src/linux-2.6.25.11-0.1-obj/i386/pae/. modules
CC [M] /tmp/vmware-config5/vmblock-only/linux/block.o
CC [M] /tmp/vmware-config5/vmblock-only/linux/control.o
CC [M] /tmp/vmware-config5/vmblock-only/linux/dbllnklst.o
CC [M] /tmp/vmware-config5/vmblock-only/linux/dentry.o
/tmp/vmware-config5/vmblock-only/linux/dentry.c: In function ‘DentryOpRevalidate’:
/tmp/vmware-config5/vmblock-only/linux/dentry.c:101: error: ‘struct nameidata’ has no member named ‘dentry’
/tmp/vmware-config5/vmblock-only/linux/dentry.c:101: error: ‘struct nameidata’ has no member named ‘dentry’
/tmp/vmware-config5/vmblock-only/linux/dentry.c:102: error: implicit declaration of function ‘path_release’
make[4]: *** [/tmp/vmware-config5/vmblock-only/linux/dentry.o] Error 1
make[3]: *** _module_/tmp/vmware-config5/vmblock-only Error 2
make[2]: *** sub-make Error 2
make[1]: *** all Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25.11-0.1-obj/i386/pae'
make: *** http://vmblock.ko Error 2
make: Leaving directory `/tmp/vmware-config5/vmblock-only'
Unable to build the vmblock module.
The vmblock module enables dragging or copying files from within a guest and dropping or pasting them onto your host (guest to host drag and drop and file copy/paste). The rest of the software provided by VMware Player is designed to work independently of this feature (including host to guest drag and drop and file copy/paste).
If you would like the guest to host drag and drop and file copy/paste features,
you can install the driver by running vmware-config.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.
Code:
p4:~ # uname -a
Linux p4 2.6.25.11-0.1-pae #1 SMP 2008-07-13 20:48:28 +0200 i686 i686 i386 GNU/Linux
p4:~ # rpm -q VMwarePlayer
VMwarePlayer-2.0.4-93057
p4:~ # cat /etc/SuSE-release
openSUSE 11.0 (i586)
VERSION = 11.0
p4:~ # smart install kernel-source gcc make binutils
Loading cache...
Updating cache... ################################################################### 100%
warning: kernel-source-2.6.25.11-0.1@i586 is already installed
warning: gcc-4.3-39.1@i586 is already installeddie
warning: make-3.81-103.1@i586 is already installed
warning: binutils-2.18.50.20080409-11.1@i586 is already installed
p4:~ # rpm -q gcc
gcc-4.3-39.1
verschlechtert die Situation:vmware-any-any-update115
Code:
...
In file included from include2/asm/bitops_32.h:149,
from include2/asm/bitops.h:316,
from /tmp/vmware-config1/vmmon-only/./include/vcpuset.h:74,
from /tmp/vmware-config1/vmmon-only/./include/modulecall.h:23,
from /tmp/vmware-config1/vmmon-only/common/vmx86.h:19,
from /tmp/vmware-config1/vmmon-only/common/hostif.h:18,
from /tmp/vmware-config1/vmmon-only/common/cpuid.c:15:
/usr/src/linux-2.6.25.11-0.1/include/asm-generic/bitops/fls64.h:6: error: static declaration of ‘fls64’ follows non-static declaration
/usr/src/linux-2.6.25.11-0.1/include/linux/bitops.h:112: error: previous implicit declaration of ‘fls64’ was here
make[4]: *** [/tmp/vmware-config1/vmmon-only/common/cpuid.o] Error 1
make[3]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25.11-0.1-obj/i386/pae'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmmon-only'
Unable to build the vmmon module.
Execution aborted.
Wo finde ich gcc 4.3.1 ?
Habe hier ein ähnliche Thema gefunden
(vmblock-patch für VMWare Workstation 6.0.4):
http://opsamericas.com/?p=734
Wenn ich der Anleitung folge, kommt beim Ausführen von 'runme.sh'
Code:
#!/bin/bash
cp vmblock.patch /usr/lib/vmware/modules/source
cd /usr/lib/vmware/modules/source
tar xf vmblock.tar
mv vmblock.tar vmblock.tar.orig
cd vmblock-only/
patch -p1 < ../vmblock.patch
cd ..
tar cf vmblock.tar vmblock-only/
rm -fr vmblock-only/
rm vmblock.patch
Code:
-bash: patch: command not found
Code:
diff -c -r vmblock-only/linux/dentry.c vmblock-only-new/linux/dentry.c
*** vmblock-only/linux/dentry.c 2008-03-04 03:16:14.000000000 +0100
--- vmblock-only-new/linux/dentry.c 2008-05-03 12:53:32.000000000 +0200
***************
*** 98,105 ****
--- 98,110 ----
LOG(4, "DentryOpRevalidate: [%s] no longer exists\n", iinfo->name);
return 0;
}
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+ ret = actualNd.path.dentry && actualNd.path.dentry->d_inode;
+ path_put(&actualNd.path);
+ #else
ret = actualNd.dentry && actualNd.dentry->d_inode;
path_release(&actualNd);
+ #endif
LOG(8, "DentryOpRevalidate: [%s] %s revalidated\n",
iinfo->name, ret ? "" : "not");
diff -c -r vmblock-only/linux/filesystem.c vmblock-only-new/linux/filesystem.c
*** vmblock-only/linux/filesystem.c 2008-03-04 03:16:14.000000000 +0100
--- vmblock-only-new/linux/filesystem.c 2008-05-03 12:57:39.000000000 +0200
***************
*** 259,265 ****
--- 259,269 ----
ASSERT(sb);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+ inode = iget_locked(sb, ino);
+ #else
inode = iget(sb, ino);
+ #endif
if (!inode) {
return NULL;
}
***************
*** 287,294 ****
--- 291,303 ----
return inode;
}
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+ iinfo->actualDentry = actualNd.path.dentry;
+ path_put(&actualNd.path);
+ #else
iinfo->actualDentry = actualNd.dentry;
path_release(&actualNd);
+ #endif
return inode;
diff -c -r vmblock-only/linux/super.c vmblock-only-new/linux/super.c
*** vmblock-only/linux/super.c 2008-03-04 03:16:14.000000000 +0100
--- vmblock-only-new/linux/super.c 2008-05-03 13:03:58.000000000 +0200
***************
*** 23,29 ****
--- 23,31 ----
#else
static void SuperOpClearInode(struct inode *inode);
#endif
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
static void SuperOpReadInode(struct inode *inode);
+ #endif
#ifdef VMW_STATFS_2618
static int SuperOpStatfs(struct dentry *dentry, struct compat_kstatfs *stat);
#else
***************
*** 38,44 ****
--- 40,48 ----
#else
.clear_inode = SuperOpClearInode,
#endif
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
.read_inode = SuperOpReadInode,
+ #endif
.statfs = SuperOpStatfs,
};
***************
*** 124,129 ****
--- 128,134 ----
*----------------------------------------------------------------------------
*/
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
static void
SuperOpReadInode(struct inode *inode) // IN: Inode to initialize
{
***************
*** 133,138 ****
--- 138,144 ----
iinfo->nameLen = 0;
iinfo->actualDentry = NULL;
}
+ #endif
/*
Danke für jeden Tip !
Rob