Bug 84935 - VMWare 3.2 does not compile on Phoebe kernel
Summary: VMWare 3.2 does not compile on Phoebe kernel
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Public Beta
Classification: Retired
Component: kernel
Version: phoebe
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-02-24 02:08 UTC by Kai 'wusel' Siering
Modified: 2007-04-18 16:51 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-02-24 23:24:14 UTC
Embargoed:


Attachments (Terms of Use)

Description Kai 'wusel' Siering 2003-02-24 02:08:37 UTC
Description of problem:

for_each_task() seems to have vanished from kernel 2.4.20-2.48 (Phoebe
8.0.94). VMware's vmnet modules are pretty upset about that.

Version-Release number of selected component (if applicable):

Freshly installed Red Hat Public Beta (8.0.94) with kernel 2.4.20-2.48.
VMware-workstation-3.2.0-2230.i386.rpm (with locally hacked vmware-
config.pl to make it detect GCC-3.1).

How reproducible:

Install 8.0.94. Install VMware-workstation-3.2.0-2230.i386.rpm (availble
from VMware). Patch vmware-config.pl:

1491a1492,1497
>     if(substr($gcc_version, 0, 3) eq "gcc") {
>       my @dummy;
>
>       @dummy = split(/ /, $gcc_version);
>       $gcc_version=$dummy[2];
>     }

Run vmware-config.pl, let it (try to) build the modules.

Steps to Reproduce:
1. Install Phoebe (8.0.94)
2. Install VMware-workstation-3.2.0-2230.i386.rpm, patch vmware-config.pl
3. Execute vmware-config.pl
    
Actual results:

root.org:~ # vmware-config.pl
Making sure VMware Workstation's services are stopped.
[...]
make: Leaving directory `/tmp/vmware-config3/vmmon-only'
The module loads perfectly in the running kernel.

Trying to find a suitable vmnet module for your running kernel.
 
None of VMware Workstation's pre-built vmnet modules is suitable for [...]
 
Extracting the sources of the vmnet module.
 
Building the vmnet module.
 
/bin/sh: -c: line 1: syntax error near unexpected token `('
/bin/sh: -c: line 1: `if echo gcc (GCC) 3.2.1 20030202 (Red Hat Linux 8.0
3.2.1-7) Copyright (C) 2002 Free Software Foundation, Inc. This is free
software; see
the source for copying conditions.  There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | grep -q '^3\.0'; then
echo yes; else echo no; fi'
make: Entering directory `/tmp/vmware-config3/vmnet-only'
`-m486' is deprecated. Use `-march=i486' or `-mcpu=i486' instead.
cc1: warning: -malign-loops is obsolete, use -falign-loops
cc1: warning: -malign-jumps is obsolete, use -falign-jumps
cc1: warning: -malign-functions is obsolete, use -falign-functions
driver.c: In function `VNetPrintPIDs':
driver.c:1488: warning: implicit declaration of function `for_each_task'
driver.c:1488: parse error before '{' token
driver.c: At top level:
driver.c:1497: parse error before '}' token
driver.c:1529: warning: `VNetProcessOwnsPort' defined but not used
make: *** [driver.o] Error 1
make: Leaving directory `/tmp/vmware-config3/vmnet-only'
Unable to build the vmnet module.
 
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
 
Execution aborted.


Expected results:

Compilation of the modules. Works, with aforementioned patch, with Red Hat 8.0.

Additional info:

Changing the result of "gcc --version" between 2.9x and 3.0 was a BAD idea.

Comment 1 Kai 'wusel' Siering 2003-02-24 02:30:48 UTC
Oops, I forgot: to get vmnet compile that far, another problem has to be taken
care of first:

root.org:/tmp/new # diff ../vmware-config0/vmnet-only/vmnetInt.h
vmnet-only/vmnetInt.h
53c53
< #ifndef KERNEL_2_5_2
---
> /* #ifndef KERNEL_2_5_2
56c56
< #endif
---
> #endif */

(This prevents a duplicate declaration of major() and minor().)


Comment 2 Arjan van de Ven 2003-02-24 08:42:08 UTC
the internal kernel interfaces have changed in the phoebe for the NPTL feature
to work. These have become the 2.5.x interfaces (for an x in the
fourties/fifties). External kernel modules may require changes to comply to the
new interfaces.

Comment 3 Kai 'wusel' Siering 2003-02-24 23:24:14 UTC
Sure; nonetheless, getting other entities to invest time in rewriting kernel
modules based of stuff from Linux' kernel development branch most likely will
tough for the end user.

I'd therefore appreciate a note from Red Hat to VMware, if that hasn't already
been done, the the upcoming release will feature 2.5.x code under the 2.4.x
umbrella.

Hmm; is "wontfix" the appropriate tag regarding this issue within Bugzilla?



Note You need to log in before you can comment on or make changes to this bug.