Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 64038

Summary: vmware-config has problems with gcc-3,4
Product: Gentoo Linux Reporter: Stefan Schweizer (RETIRED) <genstef>
Component: Current packagesAssignee: Chris Gianelloni (RETIRED) <wolf31o2>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---

Description Stefan Schweizer (RETIRED) gentoo-dev 2004-09-14 12:30:04 UTC
When I try to compile the vmware module with gcc-3.4 the compile errors out as follows. I cannot build It with gcc-3.3 and load it when the kernel is built with gcc-3.4 so I have to compile the kernel with gcc-3.3 too.

vmware-config.pl d c
- error with gcc-3.4


Stopping VMware services:
   Virtual machine monitor                                             done
   Bridged networking on /dev/vmnet0                                   done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   Host-only networking on /dev/vmnet8                                 done
   Virtual ethernet                                                    done

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

As of September 2003, the Linux kernel development team does not support gcc 
version 3 and later. See Documentation/Changes in your kernel source directory 
for information on installing the correct compiler. Do you want to use the 
version "3.4.2" of compiler "/usr/bin/gcc"? [yes] 

What is the location of the directory of C header files that match your running 
kernel? [/lib/modules/2.6.9-rc1-love2/build/include] 

Extracting the sources of the vmmon module.

Building the vmmon module.

Building for VMware Workstation 4.5.2.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config8/vmmon-only'
make -C /lib/modules/2.6.9-rc1-love2/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.9-rc1-love2'
  CC [M]  /tmp/vmware-config8/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config8/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/task.o
cc1plus: Warnung: Kommandozeilenoption "-Wstrict-prototypes" ist g
Comment 1 Stefan Schweizer (RETIRED) gentoo-dev 2004-09-14 12:30:04 UTC
When I try to compile the vmware module with gcc-3.4 the compile errors out as follows. I cannot build It with gcc-3.3 and load it when the kernel is built with gcc-3.4 so I have to compile the kernel with gcc-3.3 too.

vmware-config.pl d c
- error with gcc-3.4


Stopping VMware services:
   Virtual machine monitor                                             done
   Bridged networking on /dev/vmnet0                                   done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   Host-only networking on /dev/vmnet8                                 done
   Virtual ethernet                                                    done

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

As of September 2003, the Linux kernel development team does not support gcc 
version 3 and later. See Documentation/Changes in your kernel source directory 
for information on installing the correct compiler. Do you want to use the 
version "3.4.2" of compiler "/usr/bin/gcc"? [yes] 

What is the location of the directory of C header files that match your running 
kernel? [/lib/modules/2.6.9-rc1-love2/build/include] 

Extracting the sources of the vmmon module.

Building the vmmon module.

Building for VMware Workstation 4.5.2.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config8/vmmon-only'
make -C /lib/modules/2.6.9-rc1-love2/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.9-rc1-love2'
  CC [M]  /tmp/vmware-config8/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config8/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config8/vmmon-only/common/task.o
cc1plus: Warnung: Kommandozeilenoption "-Wstrict-prototypes" ist gültig für C/ObjC, aber nicht für C++
cc1plus: Warnung: Kommandozeilenoption "-Wdeclaration-after-statement" ist gültig für C/ObjC, aber nicht für C++
cc1plus: Warnung: Kommandozeilenoption "-Wstrict-prototypes" ist gültig für C/ObjC, aber nicht für C++
/tmp/vmware-config8/vmmon-only/common/task.c: In function `void Task_Switch_V45(VMDriver*, Vcpuid)':
/tmp/vmware-config8/vmmon-only/common/task.c:954: nicht implementiert: »inline« beim Aufruf von »void SwitchToMonitor(VMCP*, int) [with VMCP = VMCrossPageV45]« gescheitert: function body not available
/tmp/vmware-config8/vmmon-only/common/task.c:1446: nicht implementiert: von hier aufgerufen
make[2]: *** [/tmp/vmware-config8/vmmon-only/common/task.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-config8/vmmon-only] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.9-rc1-love2'
make: *** [vmmon.ko] Fehler 2
make: Leaving directory `/tmp/vmware-config8/vmmon-only'
Unable to build the vmmon 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.
Comment 2 Stefan Schweizer (RETIRED) gentoo-dev 2004-09-14 12:36:35 UTC
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
/tmp/vmware-config13/vmmon-only/common/task.c: In function `void Task_Switch_V45(VMDriver*, Vcpuid)':
/tmp/vmware-config13/vmmon-only/common/task.c:954: sorry, unimplemented: inlining failed in call to 'void SwitchToMonitor(VMCP*, int) [with VMCP = VMCrossPageV45]': function body not available
/tmp/vmware-config13/vmmon-only/common/task.c:1446: sorry, unimplemented: called from here


same error in english :)
Comment 3 Neil Watson 2004-09-14 12:38:59 UTC
You are using a non standard kernel (make[1]: Leaving directory `/usr/src/linux-2.6.9-rc1-love2') and a release candidate at that.  Are you sure that GCC is to blame?
Comment 4 Chris Gianelloni (RETIRED) gentoo-dev 2004-09-14 13:04:08 UTC
Yup... it's love-sources

Thanks for testing, Stefan