VMware Communities > VMTN > Archives > Desktop and Server Archives > VMware Workstation Archives > Discussions

This Question is Answered

2 "helpful" answers available (6 pts)
1 2 Previous Next
27 Replies Last post: Jul 14, 2006 8:50 PM by SuporteTecnicoID

2.6.15-1.1907_FC5: vmware-config.pl fails

Feb 4, 2006 9:37 AM

Click to view selinux's profile Enthusiast selinux 117 posts since
Jan 15, 2005
The latest Fedora Core kernels seem to prevent vmware-config.pl from running.

Firstly, the script no longer finds the kernel include files (even though kernel-devel package is installed), and if you manually point it, it complains:

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /lib/modules/2.6.15-1.1907_FC5/build/include

The kernel defined by this directory of header files does not have the same
address space size as your running kernel.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /usr/src/kernels/2.6.15-1.1907_FC5-i686/include
The kernel defined by this directory of header files does not have the same
address space size as your running kernel.

This all works with 2.6.15-1.1895_FC5.

tom
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 9:51 AM
Click to view selinux's profile Enthusiast selinux 117 posts since
Jan 15, 2005
OK. Here is a workaround that seems to work:

I 'commented out' the check in vmware-config.pl that checks for the same 'address space size'. With this, vmware-config.pl completes and vmware starts up and works.

tom

--- /usr/bin/vmware-config.pl 2005-12-15 21:55:24.000000000 -0800
+++ ./vmware-config.pl 2006-02-04 09:45:36.000000000 -0800
@@ -1970,18 +1970,18 @@
. shell_string($pattern));
chomp($header_page_offset);
$header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
- }
+# if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+# # We found a valid page offset
+# if (defined($gSystem{'page_offset'}) and
+# not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) {
+# if ($source eq 'user') {
+# print wrap('The kernel defined by this directory of header files does '
+# . 'not have the same address space size as your running '
+# . 'kernel.' . "\n\n", 0);
+# }
+# return '';
+# }
+# }

return $answer;
}
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 11:09 AM
in response to: selinux
Click to view selinux's profile Enthusiast selinux 117 posts since
Jan 15, 2005
Here's a better patch. Not sure why, exactly, this changed.....

tom

[root@localhost ~]# diff -u /usr/bin/vmware-config.pl .
--- /usr/bin/vmware-config.pl 2005-12-15 21:55:24.000000000 -0800
+++ ./vmware-config.pl 2006-02-04 11:06:39.000000000 -0800
@@ -1969,7 +1969,7 @@
. ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
. shell_string($pattern));
chomp($header_page_offset);
- $header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
+ $header_page_offset =~ s/^.*([0-9a-fA-F]{8,}).*$/$1/;
if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
# We found a valid page offset
if (defined($gSystem{'page_offset'}) and
[root@localhost ~]#
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 1:07 PM
in response to: selinux
Click to view petr's profile Champion petr 7,213 posts since
Jul 10, 2003
VMware
Doing it this way will probably fail on 64bit kernel :-(

How your kernel defines __PAGE_OFFSET macro (probably in include/asm-i386/page.h) ? BTW, right fix would be:

- of ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ if ($header_page_offset =~ /^$pattern (\?0x([0-9a-fA-F]{8,})/) {
+ $header_page_offset = $1;

Though I'm probably going to kill all these tests. They were good for 2.2.x kernels, were acceptable on 2.4.x kernels, but for 2.6.x kernels they are misfiring every month or so.
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 1:45 PM
in response to: petr
Click to view selinux's profile Enthusiast selinux 117 posts since
Jan 15, 2005
Here is how __PAGE_OFFSET is define:

#ifdef __ASSEMBLY__
#define __PAGE_OFFSET CONFIG_PAGE_OFFSET
#define __PHYSICAL_START CONFIG_PHYSICAL_START
#else
#define __PAGE_OFFSET ((unsigned long)CONFIG_PAGE_OFFSET)
#define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START)
#endif

Thanks for the better Perl; I was just 'shooting in the dark'.

You are missing a paren, however. I think this is what you meant:
. ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
. shell_string($pattern));
chomp($header_page_offset);
- if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ if ($header_page_offset =~ /^$pattern (\?0x([0-9a-fA-F]{8,}))/) {
+ $header_page_offset = $1;
# We found a valid page offset
if (defined($gSystem{'page_offset'}) and
not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) {
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 4:43 PM
in response to: selinux
Click to view petr's profile Champion petr 7,213 posts since
Jul 10, 2003
VMware
Thanks for the text. Yes, this will confuse current code.

Number of parens was fine, but second one should read '\(?', not '(\?' - paren should be escaped, not question mark.
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 4, 2006 4:56 PM
in response to: petr
Click to view selinux's profile Enthusiast selinux 117 posts since
Jan 15, 2005
Yup, this works.

Also works for 1909_FC5.
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 5, 2006 10:34 PM
in response to: selinux
Click to view jlc's profile Novice jlc 5 posts since
Oct 3, 2005
So how do you apply this to vmware?
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 6, 2006 1:11 AM
in response to: jlc
Click to view petr's profile Champion petr 7,213 posts since
Jul 10, 2003
VMware
You open vmware-config.pl in your favorite text editor, locate group of lines marked with '-' above, and replace that group with lines marked with '+' above. Save file, and run vmware-config.pl again. If you did change right, you are now able to build modules...
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Feb 26, 2006 11:20 PM
in response to: petr
Click to view cacao74's profile Lurker cacao74 2 posts since
Feb 6, 2006
Thanks selinux and petr.
Now, after updating my kernel from 2.6.15-rc4 to 2.6.16-rc4, I can install the VMWare Workstation 5.5.1

In brief, the needed operation:
- patching the vmware-config.pl scripts:

[cacao74@winnie bin]$ pwd
/opt/vmware/bin

[cacao74@winnie bin]$ diff -u vmware-config.pl.ori vmware-config.pl
--- vmware-config.pl.ori 2006-02-25 18:38:09.000000000 +0100
+++ vmware-config.pl 2006-02-25 22:19:06.000000000 +0100
@@ -1969,8 +1969,8 @@
. ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
. shell_string($pattern));
chomp($header_page_offset);
- if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ if ($header_page_offset =~ /^$pattern \(?0x([0-9a-fA-F]{8,})/) {
+ $header_page_offset = $1;
# We found a valid page offset
if (defined($gSystem{'page_offset'}) and
not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) {


- patching a file in a couple of compressed archives, by adding a line of code:

[cacao74@winnie source]$ pwd
/opt/vmware/lib/modules/source

[cacao74@winnie source]$ tar xf vmmon.tar
[cacao74@winnie source]$ vi vmmon-only/Makefile.kernel
add the bold line
vm_check_build = $(shell if $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) -Iinclude2/asm/mach-default -DKBUILD_BASENAME=\"$(DRIVER)\"
-Werror -S -o /dev/null -xc $(1) > /dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi)

[cacao74@winnie source]$ tar xf vmnet.tar
[cacao74@winnie source]$ vi vmnet-only/Makefile.kernel
add the bold line
vm_check_build = $(shell if $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) -Iinclude2/asm/mach-default -DKBUILD_BASENAME=\"$(DRIVER)\"
-Werror -S -o /dev/null -xc $(1) > /dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi)

[cacao74@winnie source]$ mv vmmon.tar vmmon.tar.ori
[cacao74@winnie source]$ mv vmnet.tar vmnet.tar.ori

[cacao74@winnie source]$ tar cf vmmon.tar vmmon-only/
[cacao74@winnie source]$ tar cf vmnet.tar vmnet-only/

By doing so, I have to re-launch the perl script
vmware-config.pl to install the software for the new kernel
on my system:
GNU/Linux Slackware 10.2
kernel 2.6.16-rc4
gcc version 3.3.6

Thanks again. Bye

Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Mar 1, 2006 8:33 AM
in response to: selinux
Click to view patoberli's profile Novice patoberli 11 posts since
Mar 1, 2006
Hi,

thanks this helped for me :)

But I had the issue in my Guest system, so I needed to modify the /usr/bin/vmware-config-tools.pl file.

Cheers,
pato
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Mar 26, 2006 2:34 AM
in response to: selinux
Click to view RHCT_Tuxi's profile Lurker RHCT_Tuxi 3 posts since
Mar 26, 2006
Thanks a lot for the lines they helped

I do wish that you had posted the vmware-comfig.pl fil ;-)

Best Regards
Dennis
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Mar 26, 2006 12:13 PM
in response to: cacao74
Click to view jsmithao's profile Lurker jsmithao 1 posts since
Mar 26, 2006
Thanks cacao74, your patch for the vmnet and vmmon modules really saved my #$%^.
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Mar 31, 2006 9:44 PM
Click to view FNunes's profile Lurker FNunes 4 posts since
Feb 13, 2006
Nice job on commenting those lines ;)
Re: 2.6.15-1.1907_FC5: vmware-config.pl fails Apr 14, 2006 2:45 PM
in response to: cacao74
Click to view knightkft's profile Lurker knightkft 1 posts since
Apr 14, 2006
I had the same problems up to the point of:
******************************-
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] /usr/src/kernels/2.6.16-1.2080_FC5-i686/include/

The kernel defined by this directory of header files does not have the same
address space size as your running kernel
*********************************-

After editing the config.pl file as suggested, that problem vanished and processing continued :-)
However, the terminal processes about 5 lines then crashes.
any suggestions?
1 2 Previous Next
Actions