Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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


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@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-24 02:30:48 UTC
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 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.