Bug 84935 - VMWare 3.2 does not compile on Phoebe kernel
VMWare 3.2 does not compile on Phoebe kernel
Status: CLOSED WONTFIX
Product: Red Hat Public Beta
Classification: Retired
Component: kernel (Show other bugs)
phoebe
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-02-23 21:08 EST by Kai 'wusel' Siering
Modified: 2007-04-18 12:51 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-02-24 18:24:14 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Kai 'wusel' Siering 2003-02-23 21:08:37 EST
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@death.uu.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-23 21:30:48 EST
Oops, I forgot: to get vmnet compile that far, another problem has to be taken
care of first:

root@death.uu.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 03:42:08 EST
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 18:24:14 EST
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.